{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# FSRS4Anki Optimizer mini-batch_pls"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[![open in colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/open-spaced-repetition/fsrs4anki/blob/main/archive/experiment/mini-batch_pls.ipynb)\n",
    "\n",
    "↑ Click the above button to open the optimizer on Google Colab.\n",
    "\n",
    "> If you can't see the button and are located in the Chinese Mainland, please use a proxy or VPN."
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Upload your **Anki Deck Package (.apkg)** file or **Anki Collection Package (.colpkg)** file on the `Left sidebar -> Files`, drag and drop your file in the current directory (not the `sample_data` directory). \n",
    "\n",
    "No need to include media. Need to include scheduling information. \n",
    "\n",
    "> If you use the latest version of Anki, please check the box `Support older Anki versions (slower/larger files)` when you export.\n",
    "\n",
    "You can export it via `File -> Export...` or `Ctrl + E` in the main window of Anki.\n",
    "\n",
    "Then replace the `filename` with yours in the next code cell. And set the `timezone` and `next_day_starts_at` which can be found in your preferences of Anki.\n",
    "\n",
    "After that, just run all (`Runtime -> Run all` or `Ctrl + F9`) and wait for minutes. You can see the optimal parameters in section **2.3 Result**. Copy them, replace the parameters in `fsrs4anki_scheduler.js`, and paste them into the custom scheduling of your deck options (require Anki version >= 2.1.55).\n",
    "\n",
    "**NOTE**: The default output is generated from my review logs. If you find the output is the same as mine, maybe your notebook hasn't run there.\n",
    "\n",
    "**Contribute to SRS Research**: If you want to share your data with me, please fill this form: https://forms.gle/KaojsBbhMCytaA7h8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Here are some settings that you need to replace before running this optimizer.\n",
    "\n",
    "filename = \"../collection-2022-09-18@13-21-58.colpkg\"\n",
    "# If you upload deck file, replace it with your deck filename. E.g., ALL__Learning.apkg\n",
    "# If you upload collection file, replace it with your colpgk filename. E.g., collection-2022-09-18@13-21-58.colpkg\n",
    "\n",
    "# Replace it with your timezone. I'm in China, so I use Asia/Shanghai.\n",
    "# You can find your timezone here: https://gist.github.com/heyalexej/8bf688fd67d7199be4a1682b3eec7568\n",
    "timezone = 'Asia/Shanghai'\n",
    "\n",
    "# Replace it with your Anki's setting in Preferences -> Scheduling.\n",
    "next_day_starts_at = 4\n",
    "\n",
    "# Replace it if you don't want the optimizer to use the review logs before a specific date.\n",
    "revlog_start_date = \"2006-10-05\""
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1 Build dataset"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.1 Extract Anki collection & deck file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extract successfully!\n"
     ]
    }
   ],
   "source": [
    "import zipfile\n",
    "import sqlite3\n",
    "import time\n",
    "from tqdm import notebook\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import os\n",
    "from datetime import timedelta, datetime\n",
    "import matplotlib.pyplot as plt\n",
    "import math\n",
    "import sys\n",
    "import torch\n",
    "from torch import nn\n",
    "from sklearn.utils import shuffle\n",
    "# Extract the collection file or deck file to get the .anki21 database.\n",
    "with zipfile.ZipFile(f'./{filename}', 'r') as zip_ref:\n",
    "    zip_ref.extractall('./')\n",
    "    print(\"Extract successfully!\")\n",
    "\n",
    "\n",
    "notebook.tqdm.pandas()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.2 Create time-series feature & analysis\n",
    "\n",
    "The following code cell will extract the review logs from your Anki collection and preprocess them to a trainset which is saved in [./revlog_history.tsv](./revlog_history.tsv).\n",
    "\n",
    "The time-series features are important in optimizing the model's parameters. For more detail, please see my paper: https://www.maimemo.com/paper/\n",
    "\n",
    "Then it will generate a concise analysis for your review logs. \n",
    "\n",
    "- The `r_history` is the history of ratings on each review. `3,3,3,1` means that you press `Good, Good, Good, Again`. It only contains the first rating for each card on the review date, i.e., when you press `Again` in review and  `Good` in relearning steps 10min later, only `Again` will be recorded.\n",
    "- The `avg_interval` is the actual average interval after you rate your cards as the `r_history`. It could be longer than the interval given by Anki's built-in scheduler because you reviewed some overdue cards.\n",
    "- The `avg_retention` is the average retention after you press as the `r_history`. `Again` counts as failed recall, and `Hard, Good and Easy` count as successful recall. Retention is the percentage of your successful recall.\n",
    "- The `stability` is the estimated memory state variable, which is an approximate interval that leads to 90% retention.\n",
    "- The `factor` is `stability / previous stability`.\n",
    "- The `group_cnt` is the number of review logs that have the same `r_history`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "revlog.csv saved.\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "de50c8fe989c4399b6ed91e21a442e3f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/30711 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Trainset saved.\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "b49c0c0d97594513a61be0d516935d3f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/95123 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Retention calculated.\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "35b64f68a32a443a96cc17bcae51ab29",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/63978 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stability calculated.\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ac99a72ddbfe48df9e3c62c713d19173",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/1190 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1:again, 2:hard, 3:good, 4:easy\n",
      "\n",
      "      r_history  avg_interval  avg_retention  stability  factor  group_cnt\n",
      "              1           1.7          0.765        1.0     inf       7997\n",
      "            1,3           3.9          0.876        4.2    4.20       4176\n",
      "          1,3,3           8.6          0.883        9.2    2.19       2711\n",
      "        1,3,3,3          18.2          0.858       14.0    1.52       1616\n",
      "      1,3,3,3,3          37.5          0.835       23.2    1.66        822\n",
      "    1,3,3,3,3,3          78.8          0.850       35.6    1.53        384\n",
      "  1,3,3,3,3,3,3         122.3          0.903       39.3    1.10        171\n",
      "              2           1.0          0.901        1.1     inf        240\n",
      "            2,3           3.5          0.946        8.3    7.55        201\n",
      "          2,3,3          11.1          0.890        7.1    0.86        160\n",
      "              3           1.5          0.962        5.4     inf       9134\n",
      "            3,3           3.9          0.966       15.2    2.81       6589\n",
      "          3,3,3           9.0          0.960       23.7    1.56       5162\n",
      "        3,3,3,3          19.4          0.942       44.2    1.86       3519\n",
      "      3,3,3,3,3          39.1          0.926       54.5    1.23       1922\n",
      "    3,3,3,3,3,3          76.6          0.930      106.8    1.96       1074\n",
      "  3,3,3,3,3,3,3         118.7          0.949      155.3    1.45        480\n",
      "3,3,3,3,3,3,3,3         131.1          0.970      617.2    3.97        100\n",
      "              4           3.8          0.966       12.1     inf      11599\n",
      "            4,3           8.1          0.975       38.9    3.21       7517\n",
      "          4,3,3          18.0          0.963       56.8    1.46       5303\n",
      "        4,3,3,3          33.3          0.952       84.3    1.48       3012\n",
      "      4,3,3,3,3          48.3          0.953      128.3    1.52       1353\n",
      "    4,3,3,3,3,3          67.3          0.958      112.9    0.88        496\n",
      "  4,3,3,3,3,3,3          77.6          0.978      113.2    1.00        244\n",
      "4,3,3,3,3,3,3,3         112.9          0.984      177.8    1.57        168\n",
      "Analysis saved!\n"
     ]
    }
   ],
   "source": [
    "if os.path.isfile(\"collection.anki21b\"):\n",
    "    os.remove(\"collection.anki21b\")\n",
    "    raise Exception(\n",
    "        \"Please export the file with `support older Anki versions` if you use the latest version of Anki.\")\n",
    "elif os.path.isfile(\"collection.anki21\"):\n",
    "    con = sqlite3.connect(\"collection.anki21\")\n",
    "elif os.path.isfile(\"collection.anki2\"):\n",
    "    con = sqlite3.connect(\"collection.anki2\")\n",
    "else:\n",
    "    raise Exception(\"Collection not exist!\")\n",
    "cur = con.cursor()\n",
    "res = cur.execute(\"SELECT * FROM revlog\")\n",
    "revlog = res.fetchall()\n",
    "\n",
    "df = pd.DataFrame(revlog)\n",
    "df.columns = ['id', 'cid', 'usn', 'r', 'ivl',\n",
    "              'last_lvl', 'factor', 'time', 'type']\n",
    "df = df[(df['cid'] <= time.time() * 1000) &\n",
    "        (df['id'] <= time.time() * 1000) &\n",
    "        (df['r'] > 0)].copy()\n",
    "df['create_date'] = pd.to_datetime(df['cid'] // 1000, unit='s')\n",
    "df['create_date'] = df['create_date'].dt.tz_localize(\n",
    "    'UTC').dt.tz_convert(timezone)\n",
    "df['review_date'] = pd.to_datetime(df['id'] // 1000, unit='s')\n",
    "df['review_date'] = df['review_date'].dt.tz_localize(\n",
    "    'UTC').dt.tz_convert(timezone)\n",
    "df.drop(df[df['review_date'].dt.year < 2006].index, inplace=True)\n",
    "df.sort_values(by=['cid', 'id'], inplace=True, ignore_index=True)\n",
    "type_sequence = np.array(df['type'])\n",
    "time_sequence = np.array(df['time'])\n",
    "df.to_csv(\"revlog.csv\", index=False)\n",
    "print(\"revlog.csv saved.\")\n",
    "df = df[df['type'] != 3].copy()\n",
    "df['real_days'] = df['review_date'] - timedelta(hours=next_day_starts_at)\n",
    "df['real_days'] = pd.DatetimeIndex(df['real_days'].dt.floor('D', ambiguous='infer', nonexistent='shift_forward')).to_julian_date()\n",
    "df.drop_duplicates(['cid', 'real_days'], keep='first', inplace=True)\n",
    "df['delta_t'] = df.real_days.diff()\n",
    "df.dropna(inplace=True)\n",
    "df['delta_t'] = df['delta_t'].astype(dtype=int)\n",
    "df['i'] = 1\n",
    "df['r_history'] = \"\"\n",
    "df['t_history'] = \"\"\n",
    "col_idx = {key: i for i, key in enumerate(df.columns)}\n",
    "\n",
    "\n",
    "# code from https://github.com/L-M-Sherlock/anki_revlog_analysis/blob/main/revlog_analysis.py\n",
    "def get_feature(x):\n",
    "    last_kind = None\n",
    "    for idx, log in enumerate(x.itertuples()):\n",
    "        if last_kind is not None and last_kind in (1, 2) and log.type == 0:\n",
    "            return x.iloc[:idx]\n",
    "        last_kind = log.type\n",
    "        if idx == 0:\n",
    "            if log.type != 0:\n",
    "                return x.iloc[:idx]\n",
    "            x.iloc[idx, col_idx['delta_t']] = 0\n",
    "        if idx == x.shape[0] - 1:\n",
    "            break\n",
    "        x.iloc[idx + 1, col_idx['i']] = x.iloc[idx, col_idx['i']] + 1\n",
    "        x.iloc[idx + 1, col_idx['t_history']] = f\"{x.iloc[idx, col_idx['t_history']]},{x.iloc[idx, col_idx['delta_t']]}\"\n",
    "        x.iloc[idx + 1, col_idx['r_history']] = f\"{x.iloc[idx, col_idx['r_history']]},{x.iloc[idx, col_idx['r']]}\"\n",
    "    return x\n",
    "\n",
    "df = df.groupby('cid', as_index=False, group_keys=False).progress_apply(get_feature)\n",
    "df = df[df['id'] >= time.mktime(datetime.strptime(revlog_start_date, \"%Y-%m-%d\").timetuple()) * 1000]\n",
    "df[\"t_history\"] = df[\"t_history\"].map(lambda x: x[1:] if len(x) > 1 else x)\n",
    "df[\"r_history\"] = df[\"r_history\"].map(lambda x: x[1:] if len(x) > 1 else x)\n",
    "df.to_csv('revlog_history.tsv', sep=\"\\t\", index=False)\n",
    "print(\"Trainset saved.\")\n",
    "\n",
    "def cal_retention(group: pd.DataFrame) -> pd.DataFrame:\n",
    "    group['retention'] = round(group['r'].map(lambda x: {1: 0, 2: 1, 3: 1, 4: 1}[x]).mean(), 4)\n",
    "    group['total_cnt'] = group.shape[0]\n",
    "    return group\n",
    "\n",
    "df = df.groupby(by=['r_history', 'delta_t'], group_keys=False).progress_apply(cal_retention)\n",
    "print(\"Retention calculated.\")\n",
    "df = df.drop(columns=['id', 'cid', 'usn', 'ivl', 'last_lvl', 'factor', 'time', 'type', 'create_date', 'review_date', 'real_days', 'r', 't_history'])\n",
    "df.drop_duplicates(inplace=True)\n",
    "df['retention'] = df['retention'].map(lambda x: max(min(0.99, x), 0.01))\n",
    "\n",
    "def cal_stability(group: pd.DataFrame) -> pd.DataFrame:\n",
    "    group_cnt = sum(group['total_cnt'])\n",
    "    if group_cnt < 10:\n",
    "        return pd.DataFrame()\n",
    "    group['group_cnt'] = group_cnt\n",
    "    if group['i'].values[0] > 1:\n",
    "        r_ivl_cnt = sum(group['delta_t'] * group['retention'].map(np.log) * pow(group['total_cnt'], 2))\n",
    "        ivl_ivl_cnt = sum(group['delta_t'].map(lambda x: x ** 2) * pow(group['total_cnt'], 2))\n",
    "        group['stability'] = round(np.log(0.9) / (r_ivl_cnt / ivl_ivl_cnt), 1)\n",
    "    else:\n",
    "        group['stability'] = 0.0\n",
    "    group['avg_retention'] = round(sum(group['retention'] * pow(group['total_cnt'], 2)) / sum(pow(group['total_cnt'], 2)), 3)\n",
    "    group['avg_interval'] = round(sum(group['delta_t'] * pow(group['total_cnt'], 2)) / sum(pow(group['total_cnt'], 2)), 1)\n",
    "    del group['total_cnt']\n",
    "    del group['retention']\n",
    "    del group['delta_t']\n",
    "    return group\n",
    "\n",
    "df = df.groupby(by=['r_history'], group_keys=False).progress_apply(cal_stability)\n",
    "print(\"Stability calculated.\")\n",
    "df.reset_index(drop = True, inplace = True)\n",
    "df.drop_duplicates(inplace=True)\n",
    "df.sort_values(by=['r_history'], inplace=True, ignore_index=True)\n",
    "\n",
    "if df.shape[0] > 0:\n",
    "    for idx in notebook.tqdm(df.index):\n",
    "        item = df.loc[idx]\n",
    "        index = df[(df['i'] == item['i'] + 1) & (df['r_history'].str.startswith(item['r_history']))].index\n",
    "        df.loc[index, 'last_stability'] = item['stability']\n",
    "    df['factor'] = round(df['stability'] / df['last_stability'], 2)\n",
    "    df = df[(df['i'] >= 2) & (df['group_cnt'] >= 100)]\n",
    "    df['last_recall'] = df['r_history'].map(lambda x: x[-1])\n",
    "    df = df[df.groupby(['i', 'r_history'], group_keys=False)['group_cnt'].transform(max) == df['group_cnt']]\n",
    "    df.to_csv('./stability_for_analysis.tsv', sep='\\t', index=None)\n",
    "    print(\"1:again, 2:hard, 3:good, 4:easy\\n\")\n",
    "    print(df[df['r_history'].str.contains(r'^[1-4][^124]*$', regex=True)][['r_history', 'avg_interval', 'avg_retention', 'stability', 'factor', 'group_cnt']].to_string(index=False))\n",
    "    print(\"Analysis saved!\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2 Optimize parameter"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1 Define the model\n",
    "\n",
    "FSRS is a time-series model for predicting memory states."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "init_w = [1, 1, 5, 0.5, 0.5, 0.2, 1.4, 0.12, 0.8, 2, 0.2, 0.2, 1]\n",
    "'''\n",
    "w[0]: initial_stability_for_again_answer\n",
    "w[1]: initial_stability_step_per_rating\n",
    "w[2]: initial_difficulty_for_good_answer\n",
    "w[3]: initial_difficulty_step_per_rating\n",
    "w[4]: next_difficulty_step_per_rating\n",
    "w[5]: next_difficulty_reversion_to_mean_speed (used to avoid ease hell)\n",
    "w[6]: next_stability_factor_after_success\n",
    "w[7]: next_stability_stabilization_decay_after_success\n",
    "w[8]: next_stability_retrievability_gain_after_success\n",
    "w[9]: next_stability_factor_after_failure\n",
    "w[10]: next_stability_difficulty_decay_after_success\n",
    "w[11]: next_stability_stability_gain_after_failure\n",
    "w[12]: next_stability_retrievability_gain_after_failure\n",
    "For more details about the parameters, please see: \n",
    "https://github.com/open-spaced-repetition/fsrs4anki/wiki/Free-Spaced-Repetition-Scheduler\n",
    "'''\n",
    "\n",
    "\n",
    "class FSRS(nn.Module):\n",
    "    def __init__(self, w):\n",
    "        super(FSRS, self).__init__()\n",
    "        self.w = nn.Parameter(torch.tensor(w))\n",
    "\n",
    "    def stability_after_success(self, state, new_d, r):\n",
    "        new_s = state[:,0] * (1 + torch.exp(self.w[6]) *\n",
    "                        (11 - new_d) *\n",
    "                        torch.pow(state[:,0], -self.w[7]) *\n",
    "                        (torch.exp((1 - r) * self.w[8]) - 1))\n",
    "        return new_s\n",
    "    \n",
    "    def stability_after_failure(self, state, new_d, r):\n",
    "        new_s = self.w[9] * torch.pow(new_d, -self.w[10]) * \\\n",
    "                        self.post_lapse_stability_bonus(state[:,0]) * \\\n",
    "                        torch.exp((1 - r) * self.w[12])\n",
    "        return new_s\n",
    "    \n",
    "\n",
    "    def post_lapse_stability_bonus(self, s):\n",
    "        offset = torch.pow(1/self.w[11],1/(self.w[11]-1))\n",
    "        return torch.pow(s+offset, self.w[11]) - torch.pow(offset, self.w[11])\n",
    "\n",
    "    def step(self, X, state):\n",
    "        '''\n",
    "        :param X: shape[batch_size, 2], X[:,0] is elapsed time, X[:,1] is rating\n",
    "        :param state: shape[batch_size, 2], state[:,0] is stability, state[:,1] is difficulty\n",
    "        :return state:\n",
    "        '''\n",
    "        if torch.equal(state, torch.zeros_like(state)):\n",
    "            # first learn, init memory states\n",
    "            new_s = self.w[0] + self.w[1] * (X[:,1] - 1)\n",
    "            new_d = self.w[2] - self.w[3] * (X[:,1] - 3)\n",
    "            new_d = new_d.clamp(1, 10)\n",
    "        else:\n",
    "            r = torch.exp(np.log(0.9) * X[:,0] / state[:,0])\n",
    "            new_d = state[:,1] - self.w[4] * (X[:,1] - 3)\n",
    "            new_d = self.mean_reversion(self.w[2], new_d)\n",
    "            new_d = new_d.clamp(1, 10)\n",
    "            condition = X[:,1] > 1\n",
    "            new_s = torch.where(condition, self.stability_after_success(state, new_d, r), self.stability_after_failure(state, new_d, r))\n",
    "        return torch.stack([new_s, new_d], dim=1)\n",
    "\n",
    "    def forward(self, inputs, state=None):\n",
    "        '''\n",
    "        :param inputs: shape[seq_len, batch_size, 2]\n",
    "        '''\n",
    "        if state is None:\n",
    "            state = torch.zeros((inputs.shape[1], 2))\n",
    "        else:\n",
    "            state, = state\n",
    "        outputs = []\n",
    "        for X in inputs:\n",
    "            state = self.step(X, state)\n",
    "            outputs.append(state)\n",
    "        return torch.stack(outputs), state\n",
    "\n",
    "    def mean_reversion(self, init, current):\n",
    "        return self.w[5] * init + (1-self.w[5]) * current\n",
    "\n",
    "\n",
    "class WeightClipper(object):\n",
    "    def __init__(self, frequency=1):\n",
    "        self.frequency = frequency\n",
    "\n",
    "    def __call__(self, module):\n",
    "        if hasattr(module, 'w'):\n",
    "            w = module.w.data\n",
    "            w[0] = w[0].clamp(0.1, 10)\n",
    "            w[1] = w[1].clamp(0.1, 5)\n",
    "            w[2] = w[2].clamp(1, 10)\n",
    "            w[3] = w[3].clamp(0.1, 5)\n",
    "            w[4] = w[4].clamp(0.1, 5)\n",
    "            w[5] = w[5].clamp(0, 0.5)\n",
    "            w[6] = w[6].clamp(0, 2)\n",
    "            w[7] = w[7].clamp(0.01, 0.2)\n",
    "            w[8] = w[8].clamp(0.01, 1.5)\n",
    "            w[9] = w[9].clamp(0.5, 5)\n",
    "            w[10] = w[10].clamp(0.01, 2)\n",
    "            w[11] = w[11].clamp(0.01, 0.9)\n",
    "            w[12] = w[12].clamp(0.01, 2)\n",
    "            module.w.data = w\n",
    "\n",
    "def lineToTensor(line):\n",
    "    ivl = line[0].split(',')\n",
    "    response = line[1].split(',')\n",
    "    tensor = torch.zeros(len(response), 2)\n",
    "    for li, response in enumerate(response):\n",
    "        tensor[li][0] = int(ivl[li])\n",
    "        tensor[li][1] = int(response)\n",
    "    return tensor\n",
    "\n",
    "from torch.utils.data import Dataset, DataLoader, Sampler\n",
    "from torch.nn.utils.rnn import pad_sequence, pack_padded_sequence, pad_packed_sequence\n",
    "from typing import List\n",
    "\n",
    "class RevlogDataset(Dataset):\n",
    "    def __init__(self, dataframe):\n",
    "        padded = pad_sequence(dataframe['tensor'].to_list(), batch_first=True, padding_value=0)\n",
    "        self.x_train = padded.int()\n",
    "        self.t_train = torch.tensor(dataframe['delta_t'].values, dtype=torch.int)\n",
    "        self.y_train = torch.tensor(dataframe['y'].values, dtype=torch.float)\n",
    "        self.seq_len = torch.tensor(dataframe['tensor'].map(len).values, dtype=torch.long)\n",
    "\n",
    "    def __getitem__(self, idx):\n",
    "        return self.x_train[idx], self.t_train[idx], self.y_train[idx], self.seq_len[idx]\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.y_train)\n",
    "    \n",
    "class RevlogSampler(Sampler[List[int]]):\n",
    "    def __init__(self, data_source, batch_size):\n",
    "        self.data_source = data_source\n",
    "        self.batch_size = batch_size\n",
    "        lengths = np.array(data_source.seq_len)\n",
    "        indices = np.argsort(lengths)\n",
    "        full_batches, remainder = divmod(indices.size, self.batch_size)\n",
    "        if full_batches > 0:\n",
    "            self.batch_indices = np.split(indices[:-remainder], full_batches)\n",
    "        else:\n",
    "            self.batch_indices = []\n",
    "        if remainder:\n",
    "            self.batch_indices.append(indices[-remainder:])\n",
    "        self.batch_nums = len(self.batch_indices)\n",
    "        # seed = int(torch.empty((), dtype=torch.int64).random_().item())\n",
    "        seed = 2023\n",
    "        self.generator = torch.Generator()\n",
    "        self.generator.manual_seed(seed)\n",
    "\n",
    "    def __iter__(self):\n",
    "        yield from [self.batch_indices[idx] for idx in torch.randperm(self.batch_nums, generator=self.generator).tolist()]\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.data_source)\n",
    "\n",
    "\n",
    "def collate_fn(batch):\n",
    "    sequences, delta_ts, labels, seq_lens = zip(*batch)\n",
    "    sequences_packed = pack_padded_sequence(torch.stack(sequences, dim=1), lengths=torch.stack(seq_lens), batch_first=False, enforce_sorted=False)\n",
    "    sequences_padded, length = pad_packed_sequence(sequences_packed, batch_first=False)\n",
    "    sequences_padded = torch.as_tensor(sequences_padded)\n",
    "    seq_lens = torch.as_tensor(length)\n",
    "    delta_ts = torch.as_tensor(delta_ts)\n",
    "    labels = torch.as_tensor(labels)\n",
    "    return sequences_padded, delta_ts, labels, seq_lens\n",
    "\n",
    "class Optimizer(object):\n",
    "    def __init__(self, train_set, test_set, n_epoch=1, lr=1e-2, batch_size=256) -> None:\n",
    "        self.model = FSRS(init_w)\n",
    "        self.optimizer = torch.optim.Adam(self.model.parameters(), lr=lr)\n",
    "        self.clipper = WeightClipper()\n",
    "        self.batch_size = batch_size\n",
    "        self.build_dataset(train_set, test_set)\n",
    "        self.n_epoch = n_epoch\n",
    "        self.batch_nums = self.next_train_data_loader.batch_sampler.batch_nums\n",
    "        self.scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(self.optimizer, T_max=self.batch_nums * n_epoch)\n",
    "        self.avg_train_losses = []\n",
    "        self.avg_eval_losses = []\n",
    "        self.loss_fn = nn.BCELoss(reduction='sum')\n",
    "\n",
    "    def build_dataset(self, train_set, test_set):\n",
    "        pre_train_set = train_set[train_set['i'] == 2]\n",
    "        self.pre_train_set = RevlogDataset(pre_train_set)\n",
    "        sampler = RevlogSampler(self.pre_train_set, batch_size=self.batch_size)\n",
    "        self.pre_train_data_loader = DataLoader(self.pre_train_set, batch_sampler=sampler, collate_fn=collate_fn)\n",
    "\n",
    "        next_train_set = train_set[train_set['i'] > 2]\n",
    "        self.next_train_set = RevlogDataset(next_train_set)\n",
    "        sampler = RevlogSampler(self.next_train_set, batch_size=self.batch_size)\n",
    "        self.next_train_data_loader = DataLoader(self.next_train_set, batch_sampler=sampler, collate_fn=collate_fn)\n",
    "\n",
    "        self.train_set = RevlogDataset(train_set)\n",
    "        sampler = RevlogSampler(self.train_set, batch_size=self.batch_size)\n",
    "        self.train_data_loader = DataLoader(self.train_set, batch_sampler=sampler, collate_fn=collate_fn)\n",
    "\n",
    "        self.test_set = RevlogDataset(test_set)\n",
    "        sampler = RevlogSampler(self.test_set, batch_size=self.batch_size)\n",
    "        self.test_data_loader = DataLoader(self.test_set, batch_sampler=sampler, collate_fn=collate_fn)\n",
    "        print(\"dataset built\")\n",
    "\n",
    "    def train(self):\n",
    "        # pretrain\n",
    "        self.eval()\n",
    "        pbar = notebook.tqdm(desc=\"pre-train\", colour=\"red\", total=len(self.pre_train_data_loader))\n",
    "\n",
    "        for i, batch in enumerate(self.pre_train_data_loader):\n",
    "            self.model.train()\n",
    "            self.optimizer.zero_grad()\n",
    "            sequences, delta_ts, labels, seq_lens = batch\n",
    "            real_batch_size = seq_lens.shape[0]\n",
    "            outputs, _ = self.model(sequences)\n",
    "            stabilities = outputs[seq_lens-1, torch.arange(real_batch_size), 0]\n",
    "            retentions = torch.exp(np.log(0.9) * delta_ts / stabilities)\n",
    "            loss = self.loss_fn(retentions, labels)\n",
    "            loss.backward()\n",
    "            self.optimizer.step()\n",
    "            self.model.apply(self.clipper)\n",
    "            pbar.update(n=real_batch_size)\n",
    "\n",
    "        pbar.close()\n",
    "        for name, param in self.model.named_parameters():\n",
    "            print(f\"{name}: {list(map(lambda x: round(float(x), 4),param))}\")\n",
    "\n",
    "        epoch_len = len(self.next_train_data_loader)\n",
    "        pbar = notebook.tqdm(desc=\"train\", colour=\"red\", total=epoch_len*self.n_epoch)\n",
    "        print_len = max(self.batch_nums*self.n_epoch // 10, 1)\n",
    "\n",
    "\n",
    "        for k in range(self.n_epoch):\n",
    "            self.eval()\n",
    "            for i, batch in enumerate(self.next_train_data_loader):\n",
    "                self.model.train()\n",
    "                self.optimizer.zero_grad()\n",
    "                sequences, delta_ts, labels, seq_lens = batch\n",
    "                real_batch_size = seq_lens.shape[0]\n",
    "                outputs, _ = self.model(sequences)\n",
    "                stabilities = outputs[seq_lens-1, torch.arange(real_batch_size), 0]\n",
    "                retentions = torch.exp(np.log(0.9) * delta_ts / stabilities)\n",
    "                loss = self.loss_fn(retentions, labels)\n",
    "                loss.backward()\n",
    "                for param in self.model.parameters():\n",
    "                    param.grad[:2] = torch.zeros(2)\n",
    "                self.optimizer.step()\n",
    "                self.scheduler.step()\n",
    "                self.model.apply(self.clipper)\n",
    "                pbar.update(real_batch_size)\n",
    "\n",
    "                if (k * self.batch_nums + i + 1) % print_len == 0:\n",
    "                    print(f\"iteration: {k * epoch_len + (i + 1) * self.batch_size}\")\n",
    "                    for name, param in self.model.named_parameters():\n",
    "                        print(f\"{name}: {list(map(lambda x: round(float(x), 4),param))}\")\n",
    "        pbar.close()\n",
    "                \n",
    "        self.eval()\n",
    "\n",
    "        w = list(map(lambda x: round(float(x), 4), dict(self.model.named_parameters())['w'].data))\n",
    "        return w\n",
    "\n",
    "    def eval(self):\n",
    "        self.model.eval()\n",
    "        with torch.no_grad():\n",
    "            sampler = RevlogSampler(self.train_set, batch_size=4096)\n",
    "            train_data_loader = DataLoader(self.train_set, batch_sampler=sampler, collate_fn=collate_fn)\n",
    "            loss = 0\n",
    "            for batch in train_data_loader:\n",
    "                sequences, delta_ts, labels, seq_lens = batch\n",
    "                real_batch_size = seq_lens.shape[0]\n",
    "                outputs, _ = self.model(sequences)\n",
    "                stabilities = outputs[seq_lens-1, torch.arange(real_batch_size), 0]\n",
    "                retentions = torch.exp(np.log(0.9) * delta_ts / stabilities)\n",
    "                loss += self.loss_fn(retentions, labels)\n",
    "            self.avg_train_losses.append(loss/len(train_data_loader))\n",
    "            print(f\"Loss in trainset: {self.avg_train_losses[-1]:.4f}\")\n",
    "\n",
    "            sampler = RevlogSampler(self.test_set, batch_size=4096)\n",
    "            test_data_loader = DataLoader(self.test_set, batch_sampler=sampler, collate_fn=collate_fn)\n",
    "            loss = 0\n",
    "            for batch in test_data_loader:\n",
    "                sequences, delta_ts, labels, seq_lens = batch\n",
    "                real_batch_size = seq_lens.shape[0]\n",
    "                outputs, _ = self.model(sequences)\n",
    "                stabilities = outputs[seq_lens-1, torch.arange(real_batch_size), 0]\n",
    "                retentions = torch.exp(np.log(0.9) * delta_ts / stabilities)\n",
    "                loss += self.loss_fn(retentions, labels)\n",
    "            self.avg_eval_losses.append(loss/len(test_data_loader))\n",
    "            print(f\"Loss in testset: {self.avg_eval_losses[-1]:.4f}\")\n",
    "\n",
    "    def plot(self):\n",
    "        plt.plot(self.avg_train_losses, label='train')\n",
    "        plt.plot(self.avg_eval_losses, label='test')\n",
    "        plt.xlabel('epoch')\n",
    "        plt.ylabel('loss')\n",
    "        plt.legend()\n",
    "        plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 Train the model\n",
    "\n",
    "The [./revlog_history.tsv](./revlog_history.tsv) generated before will be used for training the FSRS model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6f2611b038774a7893aa4d3b89c1200b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/223795 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Tensorized!\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/homebrew/Caskroom/miniforge/base/envs/fsrs4anki/lib/python3.8/site-packages/sklearn/model_selection/_split.py:885: UserWarning: The least populated class in y has only 1 members, which is less than n_splits=3.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TRAIN: 147736 TEST: 76059\n",
      "dataset built\n",
      "Loss in trainset: 0.3491\n",
      "Loss in testset: 0.3160\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "60bd2e1920a64d04a0dd2f77591b4c01",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "pre-train:   0%|          | 0/17371 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "w: [0.9695, 1.95, 5.0, 0.5, 0.5, 0.2, 1.4, 0.12, 0.8, 2.0, 0.2, 0.2, 1.0]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "0040f596f27e4c0b805582f4c83e7325",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "train:   0%|          | 0/391095 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss in trainset: 0.3474\n",
      "Loss in testset: 0.3110\n",
      "iteration: 39168\n",
      "w: [1.0457, 1.9732, 5.1391, 1.4245, 1.1063, 0.0564, 1.4137, 0.0845, 0.9181, 1.9368, 0.3179, 0.4455, 1.2945]\n",
      "iteration: 78336\n",
      "w: [1.0457, 1.9732, 4.8083, 1.3957, 1.1757, 0.02, 1.308, 0.1174, 0.8397, 1.9611, 0.3204, 0.4694, 1.4524]\n",
      "iteration: 117504\n",
      "w: [1.0457, 1.9732, 4.848, 1.5115, 1.4837, 0.0181, 1.3532, 0.1573, 0.937, 1.9504, 0.3305, 0.3915, 1.6209]\n",
      "Loss in trainset: 0.3299\n",
      "Loss in testset: 0.2923\n",
      "iteration: 156477\n",
      "w: [1.0457, 1.9732, 4.7388, 1.7418, 1.2284, 0.0077, 1.3666, 0.1657, 0.9638, 1.998, 0.2798, 0.4446, 1.3278]\n",
      "iteration: 195645\n",
      "w: [1.0457, 1.9732, 4.6706, 1.6433, 1.3424, 0.0102, 1.3043, 0.1565, 0.9103, 1.8908, 0.4062, 0.439, 1.4038]\n",
      "iteration: 234813\n",
      "w: [1.0457, 1.9732, 4.4525, 1.378, 1.2108, 0.0, 1.265, 0.1298, 0.8731, 1.9206, 0.3696, 0.4457, 1.4607]\n",
      "Loss in trainset: 0.3293\n",
      "Loss in testset: 0.2914\n",
      "iteration: 273786\n",
      "w: [1.0457, 1.9732, 4.4425, 1.3887, 1.1876, 0.0291, 1.2819, 0.0704, 0.8845, 1.9329, 0.3504, 0.5099, 1.392]\n",
      "iteration: 312954\n",
      "w: [1.0457, 1.9732, 4.4261, 1.3434, 1.2005, 0.0244, 1.259, 0.0703, 0.8574, 1.8969, 0.3799, 0.4596, 1.3554]\n",
      "iteration: 352122\n",
      "w: [1.0457, 1.9732, 4.4255, 1.3591, 1.1955, 0.0166, 1.2462, 0.0701, 0.8406, 1.9152, 0.3605, 0.4938, 1.3608]\n",
      "iteration: 391290\n",
      "w: [1.0457, 1.9732, 4.4296, 1.3648, 1.204, 0.0073, 1.2454, 0.0732, 0.8394, 1.9227, 0.3523, 0.4985, 1.3661]\n",
      "Loss in trainset: 0.3291\n",
      "Loss in testset: 0.2913\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPNklEQVR4nO3deXhTVf7H8XeSNuneUgotS7FAlUWBCoUKuDBjEQUXVBQcZak6jqL+ZKqjMoygMmPFUQcFBh1HAcFRVHAZQFCroEJZZBkQEVBZhbYUsKUtdEnu749AoNBC99s0n9fz5Glyc+7N9zSGfjz35FyLYRgGIiIiIj7EanYBIiIiIvVNAUhERER8jgKQiIiI+BwFIBEREfE5CkAiIiLicxSARERExOcoAImIiIjP8TO7gIbI5XKxb98+QkNDsVgsZpcjIiIilWAYBkeOHKFly5ZYrWcf41EAKse+ffuIjY01uwwRERGphj179tC6deuztlEAKkdoaCjg/gWGhYWZXI2IiIhURl5eHrGxsZ6/42ejAFSOE6e9wsLCFIBERES8TGWmr2gStIiIiPgcBSARERHxOQpAIiIi4nM0B0hERKQeuVwuiouLzS7DK/n7+2Oz2WrlWApAIiIi9aS4uJgdO3bgcrnMLsVrRUREEBMTU+N1+hpEAJo2bRp///vfyczMpFu3bkyZMoVevXqV23b+/Pk888wz/Pjjj5SUlHD++efz8MMPM3z4cE+bUaNGMWvWrDL7DRgwgMWLF9dpP0RERCpiGAb79+/HZrMRGxt7zoX6pCzDMCgsLCQ7OxuAFi1a1Oh4pgeguXPnkpqayiuvvEJSUhKTJ09mwIABbN26lebNm5/RPjIyknHjxtGxY0fsdjsLFiwgJSWF5s2bM2DAAE+7q6++mhkzZngeOxyOeumPiIhIeUpLSyksLKRly5YEBQWZXY5XCgwMBCA7O5vmzZvX6HSY6fHzxRdf5Pe//z0pKSl07tyZV155haCgIN54441y2/fr148bb7yRTp060b59ex566CG6du3KN998U6adw+EgJibGc2vSpEmFNRQVFZGXl1fmJiIiUpucTicAdrvd5Eq824nwWFJSUqPjmBqAiouLWbt2LcnJyZ5tVquV5ORkMjIyzrm/YRikp6ezdetWLr/88jLPLV26lObNm9OhQwfuu+8+Dh48WOFx0tLSCA8P99x0GQwREakrusZkzdTW78/UAJSTk4PT6SQ6OrrM9ujoaDIzMyvcLzc3l5CQEOx2O4MGDWLKlCn079/f8/zVV1/Nm2++SXp6OpMmTWLZsmVcc801nvR9urFjx5Kbm+u57dmzp3Y6KCIiIg2S6XOAqiM0NJQNGzaQn59Peno6qamptGvXjn79+gEwbNgwT9suXbrQtWtX2rdvz9KlS7nyyivPOJ7D4dAcIRERER9i6ghQVFQUNpuNrKysMtuzsrKIiYmpcD+r1Up8fDwJCQk8/PDDDBkyhLS0tArbt2vXjqioKH788cdaq11ERESqJi4ujsmTJ5tdBmByALLb7fTo0YP09HTPNpfLRXp6Or179670cVwuF0VFRRU+v3fvXg4ePFjjr8zV1OGCYvYcKqSwuNTUOkRERCqrX79+jBkzplaOtWbNGu65555aOVZNmX4KLDU1lZEjR5KYmEivXr2YPHkyBQUFpKSkADBixAhatWrlGeFJS0sjMTGR9u3bU1RUxKJFi5g9ezbTp08HID8/n6eeeoqbb76ZmJgYfvrpJx599FHi4+PLfE3eDPPX/8LEBd8DEOhvo2mInaYhDqKC7Z77TYPtRIU43I+DHUSF2GkSbMffZvoX9kRERM5gGAZOpxM/v3NHimbNmtVDRZVjegAaOnQoBw4cYPz48WRmZpKQkMDixYs9E6N3795dZrGogoICRo8ezd69ewkMDKRjx47MmTOHoUOHAmCz2di4cSOzZs3i119/pWXLllx11VVMnDjR9Hk+xaUuHH5WikpdHC1xsvfwUfYePlqpfSOC/GkafDwwHQ9HZQOU+3FUsIOwQD99y0BEpIEzDIOjJeV/OaeuBfrbKvV3YtSoUSxbtoxly5bx0ksvATBjxgxSUlJYtGgRf/nLX9i0aROffvopsbGxpKamsnLlSgoKCujUqRNpaWllvukdFxfHmDFjPCNKFouF1157jYULF7JkyRJatWrFCy+8wPXXX18n/T6VxTAMo85fxcvk5eURHh5Obm4uYWFhtXpswzAoLHZyML+YnIIiDuYXczC/iIMFxeTkH398fHtOfjGHCopwVfEd8rNaPCNITUOOjyidGpJC7EQGnxxtCrTXznVVRESkYseOHWPHjh20bduWgIAACotL6Tx+iSm1fP/0AILs5x4Dyc3N5ZprruGiiy7i6aefBmDz5s0kJyfTtWtXnn/+edq1a0eTJk3Ys2cPK1eupG/fvjgcDt58802ef/55tm7dSps2bYDyA1Dr1q157rnn6NmzJ1OmTOGNN95g165dREZGllvT6b/HU1Xl77fpI0C+xmKxEOzwI9jhR5um514J1OUy+PVoCQfzi8g5JRwdzC8ip+B4eMov9gSoI8dKKXUZZOUVkZVX8byoUwXZbWVOuZUZXSrz2E5kkB0/nY4TEfEJ4eHh2O12goKCPF9O+uGHHwB4+umnyyxBExkZSbdu3TyPJ06cyAcffMDHH3/MAw88UOFrjBo1ittuuw2AZ555hpdffpnVq1dz9dVX10WXPBSAGjir1UJksJ3IYDvnR5+7fVGpk0MFxcdHkM4cUTo9QBWXuigsdlJ46Ch7Dp37dJzFAhGB/uXOVzoxutT0lBGnsACdjhMRKU+gv43vnzZnbmqgf81H/hMTE8s8zs/P58knn2ThwoXs37+f0tJSjh49yu7du896nK5du3ruBwcHExYW5rneV11SAGpkHH42WoQH0iI88JxtDcMgv6jUE5Jy8ovPekruUGExhgGHC0s4XFhCZRYV8LdZypmvVM6E7+OPA2rhQyki4g0sFkulTkM1VMHBwWUeP/LII3z22Wc8//zzxMfHExgYyJAhQyguLj7rcfz9/cs8tlgsuFyuWq/3dN77m5cas1gshAb4ExrgT1xU8DnbO10GhwuLKzgFdyJAucPTwfxi8otKKXEaZOYdIzPvWKVqCnH4HR9ROveE7yZBdmxWjS6JiNQlu91e4ZUUTrV8+XJGjRrFjTfeCLhHhHbu3FnH1VWfApBUms1qISrEQVSIAwg9Z/tjJc7jYajo5Cm5Ux+fFqBKnO4RqfyiUnYdLDzn8S0WiAyyn3PC94nnQhw6HSciUlVxcXGsWrWKnTt3EhISUuHozPnnn8/8+fO57rrrsFgsPPHEE/UyklNdCkBSZwL8bbSKCKRVROVOx+UdKz1lBOmUU3IFZwaow4UlGAbuxwXFQP45X8PuZy0zguSZ9H16gApxz7ly+Ol0nIjII488wsiRI+ncuTNHjx5lxowZ5bZ78cUXufPOO+nTpw9RUVE89thj5OXl1XO1laevwZejLr8GL7Wj1OnikOd03Gmn4E59fDw8FRZXfa2N0AC/U0aUTp6Ca9ssmOu6ttS34USkSs729W2pPH0NXnyan81K89AAmodW7h+RwuITk71PPQV3+jpM7vuHCoopdRkcOVbKkWOl7MgpOON4C/63n6m/6641lEREvJQCkPiEILsfQZF+xEZWbu2lvGMlp03qdo8oHcgvYt7avaT/kM3t/17J6yN70iTYXg89EBGR2qQAJHIaq9VCRJCdiCA78c1Dznj+potbcdesb1m3+1dueTWDWXf2qtQ8JxERaTg0iUGkihLjInnv3t60CA/gx+x8bv7nCrZmHjG7LBERqQIFIJFquCA6lHn39SG+eQiZece45ZUVrNl5yOyyRESkkhSARKqpZUQg79/bmx7nNSHvWCl3/HsVn27ONLssERGpBAUgkRqICLIz564kkjs1p6jUxb1z1vL26rNf90ZERMynACRSQ4F2G6/c0YOhibG4DBg7fxMvfb4dLbElItJwKQCJ1AI/m5Vnb+7Cg7+NB+Afn2/jLx9+h9OlECQi0hApAInUEovFwsNXdeDpGy7EYoG3Vu3m/rfWcayk6qtQi4g0FP369WPMmDG1drxRo0YxePDgWjtedSkAidSyEb3jmPa77thtVhZvzmTEG6vJPVpidlkiInIKBSCROjCwSwtm3tmTUIcfq3ccYuirGWTlHTO7LBGRKhk1ahTLli3jpZdewmKxYLFY2LlzJ9999x3XXHMNISEhREdHM3z4cHJycjz7vf/++3Tp0oXAwECaNm1KcnIyBQUFPPnkk8yaNYuPPvrIc7ylS5ea0jddDLUcuhiq1Jbv9+UxcsZqDhwpolVEIG/e1Yv2zc5cXVpEGr8zLuJpGFBSaE4x/kFgsZyzWW5uLtdccw0XXXQRTz/9tHtXf386derE3XffzYgRIzh69CiPPfYYpaWlfPHFF+zfv582bdrw3HPPceONN3LkyBG+/vprRowYAcBdd91FXl6e56rykZGR2O2Vv6SQLoYq4gU6twxj/n19GPHGanbkFDBk+greGNWTi9s0Mbs0ETFbSSE809Kc1/7zPrAHn7NZeHg4drudoKAgYmJiAPjrX//KxRdfzDPPPONp98YbbxAbG8u2bdvIz8+ntLSUm266ifPOOw+ALl26eNoGBgZSVFTkOZ5ZdApMpI7FRgbx/r296dY6nMOFJfzutVV8+UO22WWJiFTL//73P7788ktCQkI8t44dOwLw008/0a1bN6688kq6dOnCLbfcwmuvvcbhw4dNrvpMGgESqQdNQxz85/eXcN9b6/hq2wHufvNbJt3clSE9WptdmoiYxT/IPRJj1mtXU35+Ptdddx2TJk0647kWLVpgs9n47LPPWLFiBZ9++ilTpkxh3LhxrFq1irZt29ak6lqlACRST4Idfrw+MpHH3t/I/PW/8Mh7/+PAkSLuvaIdlkqcixeRRsZiqdRpKLPZ7XaczpPLeXTv3p158+YRFxeHn1/5McJisdC3b1/69u3L+PHjOe+88/jggw9ITU0943hm0SkwkXrkb7Py/C3d+MPl7QCYtPgHnl7wPS4tmCgiDVRcXByrVq1i586d5OTkcP/993Po0CFuu+021qxZw08//cSSJUtISUnB6XSyatUqnnnmGb799lt2797N/PnzOXDgAJ06dfIcb+PGjWzdupWcnBxKSsxZJkQBSKSeWa0Wxg7sxF8Guf8xmLF8Jw/N3UBRqfn/RyQicrpHHnkEm81G586dadasGcXFxSxfvhyn08lVV11Fly5dGDNmDBEREVitVsLCwvjqq68YOHAgF1xwAX/5y1944YUXuOaaawD4/e9/T4cOHUhMTKRZs2YsX77clH7pa/Dl0Nfgpb58ePxUWKnLoG98U165owehAf5mlyUideBsX9+Wyqutr8FrBEjERIMvbsUbo3oSZLex/MeDDPvXSg4cKTK7LBGRRk8BSMRkl1/QjHfuuYSmwXY278vj5ukr2JlTYHZZIiKNmgKQSAPQtXUE79/Xh9jIQHYfKmTIKyv47pdcs8sSEWm0FIBEGoi2UcHMu68PnVuEkZNfzNBXM/hme865dxQRkSpTABJpQJqHBjD3D5fQp31TCoqdpMxczcf/M2mhNBGpE/ruUc3U1u9PAUikgQkN8GdGSk8GdW1BidPg/95ez+vf7DC7LBGpIZvNBkBxcbHJlXi3wkL3BWT9/Wv2jVmtBC3SADn8bEwZdjHNQhzMXLGTiQu+J/vIMR6/uqNWjRbxUn5+fgQFBXHgwAH8/f2xWjUGURWGYVBYWEh2djYRERGeQFldCkAiDZTVamHCdZ1pHubgucVbeXXZzxw4UsSkm7vib9M/nCLexmKx0KJFC3bs2MGuXbvMLsdrRURE1MqV5BWARBowi8XC6H7xNAtx8Pj8Tcxf9wuHCor55+3dCbLr4yvibex2O+eff75Og1WTv79/jUd+TtBK0OXQStDSEH3xQxaj31rHsRIX3WIjmDGqJ5HBdrPLEhFpMLQStEgj9NuO0bx19yVEBPnzvz2/MuSVFew5VGh2WSIiXkkBSMSL9DivCe/f25uW4QH8fKCAm6evYMv+PLPLEhHxOgpAIl4mvnko80f3pUN0KNlHirj11QxW/nzQ7LJERLyKApCIF4oJD+DdP/SmV1wkR46VMuKN1Xyyab/ZZYmIeA0FIBEvFR7kz5t39eKqztEUl7oY/Z91zF6pr9aKiFSGApCIFwvwtzH9jh78LqkNhgFPfPgdL366VUvti4icgwKQiJezWS38bfBFjEk+H4CXv/iRP3+wiVKny+TKREQaLgUgkUbAYrEwJvkC/jr4IqwWeHv1Hu57ax3HSpxmlyYi0iApAIk0Indcch7/vL0Hdj8rn32fxfDXV5FbWGJ2WSIiDY4CkEgjc/VFMcy+sxehAX6s2XmYW15dwf7co2aXJSLSoDSIADRt2jTi4uIICAggKSmJ1atXV9h2/vz5JCYmEhERQXBwMAkJCcyePbvC9vfeey8Wi4XJkyfXQeUiDVNSu6a8d29vosMcbMvK5+Z/rmB71hGzyxIRaTBMD0Bz584lNTWVCRMmsG7dOrp168aAAQPIzs4ut31kZCTjxo0jIyODjRs3kpKSQkpKCkuWLDmj7QcffMDKlStp2bJlXXdDpMHpGBPGvPv60K5ZMPtyjzHklQzW7jpkdlkiIg2C6QHoxRdf5Pe//z0pKSl07tyZV155haCgIN54441y2/fr148bb7yRTp060b59ex566CG6du3KN998U6bdL7/8woMPPshbb72Fv79/fXRFpMFp3SSIeff24eI2EeQeLeH2f6/i8++zzC5LRMR0pgag4uJi1q5dS3Jysmeb1WolOTmZjIyMc+5vGAbp6els3bqVyy+/3LPd5XIxfPhw/vSnP3HhhRee8zhFRUXk5eWVuYk0Fk2C7bx1dxK/7dicYyUu/jBnLe+u2WN2WSIipjI1AOXk5OB0OomOji6zPTo6mszMzAr3y83NJSQkBLvdzqBBg5gyZQr9+/f3PD9p0iT8/Pz4v//7v0rVkZaWRnh4uOcWGxtbvQ6JNFBBdj9eHd6DIT1a43QZPDpvI1O/2K4FE0XEZ5l+Cqw6QkND2bBhA2vWrOFvf/sbqampLF26FIC1a9fy0ksvMXPmTCwWS6WON3bsWHJzcz23PXv0f8fS+PjbrPx9SFdG92sPwPOfbuPJjzfjdCkEiYjv8TPzxaOiorDZbGRllZ2TkJWVRUxMTIX7Wa1W4uPjAUhISGDLli2kpaXRr18/vv76a7Kzs2nTpo2nvdPp5OGHH2by5Mns3LnzjOM5HA4cDkftdEqkAbNYLDx6dUeahTp4esH3zMrYRU5+MS8O7YbDz2Z2eSIi9cbUESC73U6PHj1IT0/3bHO5XKSnp9O7d+9KH8flclFUVATA8OHD2bhxIxs2bPDcWrZsyZ/+9Kdyvykm4otS+rbl5WEX42+zsHDTfka+sZq8Y1owUUR8h6kjQACpqamMHDmSxMREevXqxeTJkykoKCAlJQWAESNG0KpVK9LS0gD3fJ3ExETat29PUVERixYtYvbs2UyfPh2Apk2b0rRp0zKv4e/vT0xMDB06dKjfzok0YNd1a0lksJ0/zF7Lyp8PMfTVlcxK6UnzsACzSxMRqXOmB6ChQ4dy4MABxo8fT2ZmJgkJCSxevNgzMXr37t1YrScHqgoKChg9ejR79+4lMDCQjh07MmfOHIYOHWpWF0S8Vt/4KN655xJGzVjDlv153DR9BW/e2Yt2zULMLk1EpE5ZDH0N5Ax5eXmEh4eTm5tLWFiY2eWI1LndBwsZ/sYqdh0sJDLYzoxRPekWG2F2WSIiVVKVv99e+S0wEaldbZoGMe++PnRpFc6hgmJue20ly7YdMLssEZE6owAkIgBEhTh4+55LuOz8KAqLndw1cw0frN9rdlkiInVCAUhEPEIcfrw+sic3JLSk1GXwx7n/47Wvfja7LBGRWqcAJCJl2P2s/OPWBO66tC0Af1u0hb8u+B6XFkwUkUZEAUhEzmC1Wnji2s78eWBHAP79zQ5S391AcanL5MpERGqHApCIVOiey9vz4q3d8LNa+HDDPu6atYaColKzyxIRqTEFIBE5q5u6t+bfIxMJ9Lfx9fYcbnttJTn5RWaXJSJSIwpAInJO/To05+17LiEy2M7GvbkMmb6C3QcLzS5LRKTaFIBEpFISYiN4/97etG4SyM6Dhdw0fQWb9+WaXZaISLUoAIlIpbVrFsL8+/rQMSaUnPwihr66khU/5phdlohIlSkAiUiVNA8L4N17e3NJu0jyi0oZNWMNCzbuM7ssEZEqUQASkSoLC/BnZkovBnaJodjp4sG31zNz+Q6zyxIRqTQFIBGplgB/G1Nu687wS87DMODJ/37P35f8gK6vLCLeQAFIRKrNZrXw9A0X8shVFwAw7cufeGzeRkqdWjBRRBo2BSARqRGLxcIDvz2fZ2/qgtUC7367lz/MXsvRYqfZpYmIVEgBSERqxbBebXh1eCIOPyvpP2Rz+79Xcrig2OyyRETKpQAkIrWmf+do3ro7ifBAf9bt/pVbXs3gl1+Pml2WiMgZFIBEpFYlxkXy3r29aREewI/Z+dz8zxVszTxidlkiImUoAIlIrbsgOpR59/Xh/OYhZOYd45ZXVrB6xyGzyxIR8VAAEpE60TIikPfu7U2P85qQd6yU4a+vYsnmTLPLEhEBFIBEpA5FBNl56+4kkjtFU1Tq4r45a/nPqt1mlyUiogAkInUrwN/GK3d0Z1jPWFwG/PmDTbz0+XYtmCgiplIAEpE652ezknZTFx78bTwA//h8G3/58DucLoUgETGHApCI1AuLxcLDV3Vg4g0XYrHAW6t2c/9b6zhWogUTRaT+KQCJSL0a3juOab/rjt1mZfHmTEa8sZrcoyVmlyUiPkYBSETq3cAuLZh1Zy9CHX6s3nGIoa9mkJV3zOyyRMSHKACJiCl6t2/K3D/0plmogx8yj3DTP1fwY3a+2WWJiI9QABIR03RuGcb8+/rQLiqYX349yi2vrGD97sNmlyUiPkABSERMFRsZxHv39qZbbASHC0v43Wur+PKHbLPLEpFGTgFIREzXNMTBf+5O4ooLmnG0xMndb37Le9/uMbssEWnEFIBEpEEIdvjx75GJ3HRxK5wugz+9v5HpS3/SgokiUicUgESkwfC3WXn+lm784fJ2AExa/ANPL/gelxZMFJFapgAkIg2K1Wph7MBO/GVQJwBmLN/JQ3M3UFSqBRNFpPYoAIlIg3T3Ze14aVgC/jYL//3fPu6cuYYjx7RgoojUDgUgEWmwbkhoxRujehJst7H8x4MM+9dKDhwpMrssEWkEFIBEpEG77PxmvHNPb5oG29m8L4+bp69gZ06B2WWJiJdTABKRBq9L63Dm3deHNpFB7D5UyJBXVrBpb67ZZYmIF1MAEhGvEBcVzPv39aZzizBy8osZ9q8Mvt5+wOyyRMRLKQCJiNdoHhrA3D9cQp/2TSkodnLnzDV8tOEXs8sSES+kACQiXiU0wJ8ZKT25tmsLSpwGD72zgde/2WF2WSLiZRSARMTrOPxsvDzsYkb1iQNg4oLvSftki1aNFpFKUwASEa9ktVqYcF1nHr26AwCvLvuZh9/7HyVOl8mViYg3UAASEa9lsVgY3S+evw/pis1qYf66X/j9m99SWFxqdmki0sApAImI17slMZbXRvQgwN/K0q0HuO21VRwqKDa7LBFpwBSARKRR+G3HaP7z+0uICPLnf3t+Zcj0Few5VGh2WSLSQCkAiUij0b1NE96/tzetIgL5OaeAm6evYMv+PLPLEpEGSAFIRBqV+OahzLuvDx2iQ8k+UsStr2Sw8ueDZpclIg1MgwhA06ZNIy4ujoCAAJKSkli9enWFbefPn09iYiIREREEBweTkJDA7Nmzy7R58skn6dixI8HBwTRp0oTk5GRWrVpV190QkQYiJjyAd+/tTa+4SI4UlTLijdV8smm/2WWJSANiegCaO3cuqampTJgwgXXr1tGtWzcGDBhAdnZ2ue0jIyMZN24cGRkZbNy4kZSUFFJSUliyZImnzQUXXMDUqVPZtGkT33zzDXFxcVx11VUcOKBl80V8RXigP2/e1YsBF0ZTXOpi9H/WMXvlLrPLEpEGwmKYvHJYUlISPXv2ZOrUqQC4XC5iY2N58MEHefzxxyt1jO7duzNo0CAmTpxY7vN5eXmEh4fz+eefc+WVV57zeCfa5+bmEhYWVvnOiEiD43QZPPHRd/xn1W4A/u+38fyx/wVYLBaTKxOR2laVv99+9VRTuYqLi1m7di1jx471bLNarSQnJ5ORkXHO/Q3D4IsvvmDr1q1MmjSpwtf417/+RXh4ON26dSu3TVFREUVFRZ7HeXmaNCnSWNisFv42+CKahzqY/Pl2Xv7iR77ddZgW4YEE+Ftx+Nlw+FsJOP7T4WclwN9W5qfDz1Zu2xM/7TYrVqsClYg3MTUA5eTk4HQ6iY6OLrM9OjqaH374ocL9cnNzadWqFUVFRdhsNv75z3/Sv3//Mm0WLFjAsGHDKCwspEWLFnz22WdERUWVe7y0tDSeeuqpmndIRBoki8XCmOQLaBbq4IkPv2PFT7U/KdruZz0tLFUiQHmeP+V+Fffxs1o0miVSDaYGoOoKDQ1lw4YN5Ofnk56eTmpqKu3ataNfv36eNr/5zW/YsGEDOTk5vPbaa9x6662sWrWK5s2bn3G8sWPHkpqa6nmcl5dHbGxsfXRFROrR7Unn0aVVOGt3Haao1MWxEidFpS6KSlwcK3WW+Vl06s9T2p7603XKBILiUhfFpS6OUL+rUFstlAlLFY1qOc42qlXeqJd/+W1P3UejXuLNTA1AUVFR2Gw2srKyymzPysoiJiamwv2sVivx8fEAJCQksGXLFtLS0soEoODgYOLj44mPj+eSSy7h/PPP5/XXXy9zuu0Eh8OBw+GonU6JSIPWtXUEXVtH1MqxSpyu4wHKybETP8sJTWXDlvOMfSpqe3Lb8eOe0uYElwFHS5wcLXECJbXSr8qy26yesHS2U4kVBagA/3Lani2gHT++v02jXlJzpgYgu91Ojx49SE9PZ/DgwYB7EnR6ejoPPPBApY/jcrnKzOGpbhsRkarwt1nxt1kJcdTvP6Uul0Gx01XuCJUnLJ3ys6jkXAGrbEA7dlpQO/X50lOGvYqdLoqdLo7U8z+tFgueU39WC1gtFqwWCxYLWHBfKNd6/Lny2lhP2WY5ff8y7c+yv/XE/sfbUfbxiTYWi6WC1zvZ3r3tbDWWV9PxbcdH4Sp8jTN+T2X3t1TmNU77PZ143lKF39MZr4uF8EB/woP86/c/nlOYfgosNTWVkSNHkpiYSK9evZg8eTIFBQWkpKQAMGLECFq1akVaWhrgnq+TmJhI+/btKSoqYtGiRcyePZvp06cDUFBQwN/+9jeuv/56WrRoQU5ODtOmTeOXX37hlltuMa2fIiK1xWq1EGC1EeBvA+r3D0jpiVGvs4xQnTVgnXJqsUxA82yvOMydYBhQ4jQAU7/ELDU0ul97Hr26o2mvb3oAGjp0KAcOHGD8+PFkZmaSkJDA4sWLPROjd+/ejdV6crmigoICRo8ezd69ewkMDKRjx47MmTOHoUOHAmCz2fjhhx+YNWsWOTk5NG3alJ49e/L1119z4YUXmtJHEZHGws9mxc9mJbieZw0YxvFRrxPzr1zgMgxchoFhnLjP8ccntp29jctwj6a5DE4+NgwMTmnjOrnfqW0q87pl25/Y/9T2J1//xOues00FxzzxuuXuf8q28vavTBvXKb8L47TfwYnf14k2leq3YeBvM3cpQtPXAWqItA6QiIiI96nK32/TV4IWERERqW8KQCIiIuJzFIBERETE5ygAiYiIiM9RABIRERGfowAkIiIiPkcBSERERHyOApCIiIj4HAUgERER8TkKQCIiIuJzFIBERETE5ygAiYiIiM9RABIRERGfowAkIiIiPkcBSERERHyOApCIiIj4HAUgERER8TkKQCIiIuJzFIBERETE5ygAiYiIiM9RABIRERGfowAkIiIiPkcBSERERHyOApCIiIj4HAUgERER8TkKQCIiIuJzFIBERETE5ygAiYiIiM9RABIRERGfowAkIiIiPkcBSERERHyOApCIiIj4HAUgERER8TkKQCIiIuJzFIBERETE5ygAiYiIiM9RABIRERGfowAkIiIiPkcBSERERHyOApCIiIj4HAUgERER8TnVCkCzZs1i4cKFnsePPvooERER9OnTh127dtVacSIiIiJ1oVoB6JlnniEwMBCAjIwMpk2bxnPPPUdUVBR//OMfa7VAERERkdrmV52d9uzZQ3x8PAAffvghN998M/fccw99+/alX79+tVmfiIiISK2r1ghQSEgIBw8eBODTTz+lf//+AAQEBHD06NHaq05ERESkDlRrBKh///7cfffdXHzxxWzbto2BAwcCsHnzZuLi4mqzPhEREZFaV60RoGnTptG7d28OHDjAvHnzaNq0KQBr167ltttuq9UCRURERGpbtQJQREQEU6dO5aOPPuLqq6/2bH/qqacYN25clY83bdo04uLiCAgIICkpidWrV1fYdv78+SQmJhIREUFwcDAJCQnMnj3b83xJSQmPPfYYXbp0ITg4mJYtWzJixAj27dtX5bpERESkcapWAFq8eDHffPON5/G0adNISEjgd7/7HYcPH67SsebOnUtqaioTJkxg3bp1dOvWjQEDBpCdnV1u+8jISMaNG0dGRgYbN24kJSWFlJQUlixZAkBhYSHr1q3jiSeeYN26dcyfP5+tW7dy/fXXV6erIiIi0ghZDMMwqrpTly5dmDRpEgMHDmTTpk307NmT1NRUvvzySzp27MiMGTMqfaykpCR69uzJ1KlTAXC5XMTGxvLggw/y+OOPV+oY3bt3Z9CgQUycOLHc59esWUOvXr3YtWsXbdq0Oefx8vLyCA8PJzc3l7CwsEr3RURERMxTlb/f1RoB2rFjB507dwZg3rx5XHvttTzzzDNMmzaNTz75pNLHKS4uZu3atSQnJ58syGolOTmZjIyMc+5vGAbp6els3bqVyy+/vMJ2ubm5WCwWIiIiyn2+qKiIvLy8MjcRERFpvKoVgOx2O4WFhQB8/vnnXHXVVYD79FRVwkNOTg5Op5Po6Ogy26Ojo8nMzKxwv9zcXEJCQrDb7QwaNIgp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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TRAIN: 149817 TEST: 73978\n",
      "dataset built\n",
      "Loss in trainset: 0.3410\n",
      "Loss in testset: 0.3312\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "15c30f35f72548fb8e3bfd10c9daf9b5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "pre-train:   0%|          | 0/19836 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "w: [0.9229, 2.584, 5.0, 0.5, 0.5, 0.2, 1.4, 0.12, 0.8, 2.0, 0.2, 0.2, 1.0]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e21afc471ba5415db6f08a8e87a3e350",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "train:   0%|          | 0/389943 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss in trainset: 0.3370\n",
      "Loss in testset: 0.3288\n",
      "iteration: 38912\n",
      "w: [0.7807, 2.6095, 5.0728, 1.4243, 1.1865, 0.0398, 1.4068, 0.0956, 1.0192, 1.9281, 0.353, 0.4043, 1.3378]\n",
      "iteration: 77824\n",
      "w: [0.7807, 2.6095, 4.8037, 1.5704, 1.0856, 0.0, 1.3303, 0.0766, 0.9911, 2.0277, 0.2627, 0.438, 1.5183]\n",
      "iteration: 116736\n",
      "w: [0.7807, 2.6095, 4.5018, 1.302, 1.2202, 0.0448, 1.1697, 0.1111, 0.8758, 2.0028, 0.3324, 0.4427, 1.361]\n",
      "Loss in trainset: 0.3188\n",
      "Loss in testset: 0.3114\n",
      "iteration: 155581\n",
      "w: [0.7807, 2.6095, 4.2542, 1.1683, 1.3207, 0.0103, 1.1266, 0.0725, 0.8726, 2.0351, 0.2995, 0.4594, 1.6447]\n",
      "iteration: 194493\n",
      "w: [0.7807, 2.6095, 4.1868, 1.236, 1.3087, 0.0364, 1.0472, 0.0376, 0.8002, 2.0059, 0.3335, 0.5304, 1.446]\n",
      "iteration: 233405\n",
      "w: [0.7807, 2.6095, 4.16, 1.3283, 1.3008, 0.0, 1.116, 0.0843, 0.8705, 2.0089, 0.3354, 0.492, 1.3899]\n",
      "Loss in trainset: 0.3190\n",
      "Loss in testset: 0.3117\n",
      "iteration: 272250\n",
      "w: [0.7807, 2.6095, 4.1394, 1.3546, 1.3337, 0.0206, 1.1315, 0.0519, 0.8884, 2.0231, 0.318, 0.4791, 1.3203]\n",
      "iteration: 311162\n",
      "w: [0.7807, 2.6095, 4.1301, 1.4233, 1.2541, 0.0046, 1.0911, 0.0669, 0.8478, 2.0058, 0.3389, 0.4961, 1.2887]\n",
      "iteration: 350074\n",
      "w: [0.7807, 2.6095, 4.1222, 1.3954, 1.2931, 0.0129, 1.11, 0.0438, 0.8649, 2.0, 0.3423, 0.486, 1.2671]\n",
      "iteration: 388986\n",
      "w: [0.7807, 2.6095, 4.115, 1.3862, 1.2887, 0.0115, 1.1096, 0.0459, 0.8642, 2.0033, 0.3382, 0.4888, 1.2717]\n",
      "Loss in trainset: 0.3184\n",
      "Loss in testset: 0.3111\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TRAIN: 150037 TEST: 73758\n",
      "dataset built\n",
      "Loss in trainset: 0.3235\n",
      "Loss in testset: 0.3669\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3a43aa7afd1341078328254e6400140b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "pre-train:   0%|          | 0/20733 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "w: [2.1209, 2.2311, 5.0, 0.5, 0.5, 0.2, 1.4, 0.12, 0.8, 2.0, 0.2, 0.2, 1.0]\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a4dbc71992d4416cbc806d7acaeac106",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "train:   0%|          | 0/387912 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss in trainset: 0.3198\n",
      "Loss in testset: 0.3709\n",
      "iteration: 38656\n",
      "w: [2.2705, 2.3819, 5.2725, 1.6865, 1.1914, 0.0383, 1.3354, 0.173, 0.9056, 1.9048, 0.4186, 0.5162, 1.511]\n",
      "iteration: 77312\n",
      "w: [2.2705, 2.3819, 4.9803, 1.632, 1.4106, 0.0626, 1.2232, 0.0171, 0.8043, 1.9583, 0.3808, 0.5519, 1.834]\n",
      "iteration: 115968\n",
      "w: [2.2705, 2.3819, 4.8225, 1.5122, 1.5944, 0.0684, 1.3069, 0.0389, 0.9266, 2.0021, 0.355, 0.5348, 1.8395]\n",
      "Loss in trainset: 0.3028\n",
      "Loss in testset: 0.3548\n",
      "iteration: 154392\n",
      "w: [2.2705, 2.3819, 4.7067, 1.6522, 1.4881, 0.0285, 1.2361, 0.1229, 0.8994, 2.0485, 0.3358, 0.5154, 2.0]\n",
      "iteration: 193048\n",
      "w: [2.2705, 2.3819, 4.4274, 1.6885, 0.9266, 0.0566, 1.2113, 0.0468, 0.8717, 1.9405, 0.4428, 0.4825, 1.8878]\n",
      "iteration: 231704\n",
      "w: [2.2705, 2.3819, 4.5352, 1.5817, 1.3852, 0.0507, 1.1676, 0.0483, 0.8322, 1.9597, 0.4179, 0.4977, 1.8941]\n",
      "Loss in trainset: 0.3019\n",
      "Loss in testset: 0.3537\n",
      "iteration: 270128\n",
      "w: [2.2705, 2.3819, 4.5219, 1.6556, 1.3141, 0.0392, 1.1346, 0.0389, 0.795, 1.9166, 0.4563, 0.4617, 1.7838]\n",
      "iteration: 308784\n",
      "w: [2.2705, 2.3819, 4.4299, 1.5502, 1.2862, 0.0287, 1.1585, 0.023, 0.8095, 1.9536, 0.4134, 0.5121, 1.802]\n",
      "iteration: 347440\n",
      "w: [2.2705, 2.3819, 4.4078, 1.5104, 1.2655, 0.0175, 1.1552, 0.0363, 0.8043, 1.9566, 0.4082, 0.5244, 1.797]\n",
      "iteration: 386096\n",
      "w: [2.2705, 2.3819, 4.4084, 1.5093, 1.2662, 0.0172, 1.153, 0.0372, 0.8017, 1.9605, 0.4038, 0.525, 1.7993]\n",
      "Loss in trainset: 0.3013\n",
      "Loss in testset: 0.3531\n"
     ]
    },
    {
     "data": {
      "image/png": "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IuJzFIBERETE5ygAiYiIiM9RABIRERGfowAkIiIiPkcBSERERHyOApCIiIj4nAYRgCZNmkSbNm0IDAwkOTmZlStXVjp21qxZJCUlERkZSUhICImJiUybNq3cmLvuuguLxVLudfXVV9f1NERERMRLmP4ojBkzZpCens6UKVNITk5m/PjxDBw4kOzsbJo1O/05IVFRUYwePZqEhATsdjtz584lLS2NZs2aMXDgQM+4q6++mnfeecfzdUBAQL3MR0RERBo+i2EYhpkFJCcn06NHDyZOnAiAy+UiLi6OYcOGMXLkyCodo1u3bgwaNIhx48YB7hWggwcPMmfOnBrVVFhYSEREBAUFBYSHh9foGCIiIlK/qvP329RTYCUlJaxevZqUlBTPNqvVSkpKCllZWWfd3zAMMjMzyc7Opl+/fuW+t2jRIpo1a0bHjh158MEH+fXXXys9jsPhoLCwsNxLREREGi9TT4Hl5+fjdDqJiYkptz0mJobNmzdXul9BQQEtW7bE4XBgs9l48803GTBggOf7V199NTfffDNt27Zl27ZtPPXUU1xzzTVkZWVhs9lOO15GRgbPPPNM7U1MREREGjTTrwGqibCwMNatW0dRURGZmZmkp6fTrl07+vfvD8Btt93mGXvxxRfTpUsX2rdvz6JFi7jyyitPO96oUaNIT0/3fF1YWEhcXFydz0NERETMYWoAio6OxmazkZubW257bm4usbGxle5ntVqJj48HIDExkU2bNpGRkeEJQKdq164d0dHRbN26tcIAFBAQoIukRUREfIip1wDZ7Xa6d+9OZmamZ5vL5SIzM5NevXpV+TgulwuHw1Hp9/fu3cuvv/5K8+bNz6leERERaRxMPwWWnp7OkCFDSEpKomfPnowfP57i4mLS0tIAGDx4MC1btiQjIwNwX6+TlJRE+/btcTgczJ8/n2nTpjF58mQAioqKeOaZZ/jd735HbGws27Zt44knniA+Pr7cbfIiIiLiu0wPQKmpqezbt48xY8aQk5NDYmIiCxYs8FwYvXv3bqzWEwtVxcXFDB06lL179xIUFERCQgLTp08nNTUVAJvNxvr163n33Xc5ePAgLVq04KqrrmLcuHE6zSUiIiJAA+gD1BCpD5CIiIj38Zo+QCIiIiJmUAASERERn6MAJCIiIj5HAUhERER8jgKQiIiI+BwFIBEREfE5CkAiIiLicxSARERExOcoAImIiIjPUQASERERn6MAJCIiIj5HAUhERER8jgKQiIiI+BwFIBEREfE5CkAiIiLicxSARERExOcoAImIiIjPUQASERERn6MAJCIiIj5HAUhERER8jgKQiIiI+BwFIBEREfE5CkAiIiLicxSARERExOcoAImIiIjPUQASERERn6MAJCIiIj5HAUhERER8jgKQiIiI+BwFIBEREfE5CkAiIiLicxSARERExOcoAImIiIjPUQASERERn6MAJCIiIj5HAUhERER8jgKQiIiI+JwGEYAmTZpEmzZtCAwMJDk5mZUrV1Y6dtasWSQlJREZGUlISAiJiYlMmzat0vEPPPAAFouF8ePH10HlIiIi4o1MD0AzZswgPT2dsWPHsmbNGrp27crAgQPJy8urcHxUVBSjR48mKyuL9evXk5aWRlpaGgsXLjxt7OzZs1m+fDktWrSo62mIiIiIFzE9AL366qvce++9pKWl0blzZ6ZMmUJwcDBvv/12heP79+/PTTfdRKdOnWjfvj3Dhw+nS5cuLF26tNy4n376iWHDhvHvf/8bf3//+piKiIiIeAlTA1BJSQmrV68mJSXFs81qtZKSkkJWVtZZ9zcMg8zMTLKzs+nXr59nu8vl4s477+Txxx/nwgsvPOtxHA4HhYWF5V4iIiLSeJkagPLz83E6ncTExJTbHhMTQ05OTqX7FRQUEBoait1uZ9CgQUyYMIEBAwZ4vv/iiy/i5+fHI488UqU6MjIyiIiI8Lzi4uJqNiERERHxCn5mF1ATYWFhrFu3jqKiIjIzM0lPT6ddu3b079+f1atX8/rrr7NmzRosFkuVjjdq1CjS09M9XxcWFioEiYiINGKmBqDo6GhsNhu5ubnltufm5hIbG1vpflarlfj4eAASExPZtGkTGRkZ9O/fnyVLlpCXl0erVq08451OJyNGjGD8+PHs3LnztOMFBAQQEBBQO5MSERGRBs/UU2B2u53u3buTmZnp2eZyucjMzKRXr15VPo7L5cLhcABw5513sn79etatW+d5tWjRgscff7zCO8VERETE95h+Ciw9PZ0hQ4aQlJREz549GT9+PMXFxaSlpQEwePBgWrZsSUZGBuC+XicpKYn27dvjcDiYP38+06ZNY/LkyQA0adKEJk2alPsZ/v7+xMbG0rFjx/qdnIiIiDRIpgeg1NRU9u3bx5gxY8jJySExMZEFCxZ4LozevXs3VuuJhari4mKGDh3K3r17CQoKIiEhgenTp5OammrWFERERMTLWAzDMMwuoqEpLCwkIiKCgoICwsPDzS5HREREqqA6f79Nb4QoIiIiUt8UgERERMTnKACJiIiIz6lRAHr33XeZN2+e5+snnniCyMhIevfuza5du2qtOBEREZG6UKMA9PzzzxMUFARAVlYWkyZN4qWXXiI6Opo//elPtVqgiIiISG2r0W3we/bs8XRinjNnDr/73e+477776NOnD/3796/N+kRERERqXY1WgEJDQ/n1118B+OKLLzwPIg0MDOTIkSO1V52IiIhIHajRCtCAAQO45557uOSSS9iyZQvXXnstABs3bqRNmza1WZ+IiIhIravRCtCkSZPo1asX+/btY+bMmZ5HT6xevZrbb7+9VgsUERERqW3qBF0BdYIWERHxPnXeCXrBggUsXbrU8/WkSZNITEzk//7v/zhw4EBNDikiIiJSb2oUgB5//HEKCwsB2LBhAyNGjODaa69lx44dpKen12qBIiIiIrWtRhdB79ixg86dOwMwc+ZMfvvb3/L888+zZs0azwXRIiIiIg1VjVaA7HY7hw8fBuCrr77iqquuAiAqKsqzMiQiIiLSUNVoBahv376kp6fTp08fVq5cyYwZMwDYsmUL559/fq0WKCIiIlLbarQCNHHiRPz8/Pj444+ZPHkyLVu2BODzzz/n6quvrtUCRURERGqbboOvgG6DFxER8T7V+ftdo1NgAE6nkzlz5rBp0yYALrzwQq6//npsNltNDykiIiJSL2oUgLZu3cq1117LTz/9RMeOHQHIyMggLi6OefPm0b59+1otUkRERKQ21egaoEceeYT27duzZ88e1qxZw5o1a9i9ezdt27blkUceqe0aRURERGpVjVaAFi9ezPLly4mKivJsa9KkCS+88AJ9+vSpteJERERE6kKNVoACAgI4dOjQaduLioqw2+3nXJSIiIhIXapRAPrtb3/Lfffdx4oVKzAMA8MwWL58OQ888ADXX399bdcoIiIiUqtqFIDeeOMN2rdvT69evQgMDCQwMJDevXsTHx/P+PHja7lEERERkdpVo2uAIiMj+eSTT9i6davnNvhOnToRHx9fq8WJiIiI1IUqB6CzPeX9m2++8Xz+6quv1rwiERERkTpW5QC0du3aKo2zWCw1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U6U1U535TZ06FYvFUu4VGBhYj9VWz7fffst1111HixYtsFgszJkz56z7LFq0iG7duhEQEEB8fDxTp06t8zprqrrzW7Ro0Wnvn8ViIScnp34KrqaMjAx69OhBWFgYzZo148YbbyQ7O/us+3nL72BN5udtv4OTJ0+mS5cuniZ5vXr14vPPPz/jPt7y/kH15+dt79+pXnjhBSwWC48++ugZx5nxHioA1bIZM2aQnp7O2LFjWbNmDV27dmXgwIHk5eVVOP67777j9ttv549//CNr167lxhtv5MYbb+SHH36o58qrprrzA3e3z19++cXz2rVrVz1WXD3FxcV07dqVSZMmVWn8jh07GDRoEFdccQXr1q3j0Ucf5Z577mHhwoV1XGnNVHd+x2VnZ5d7D5s1a1ZHFZ6bxYsX89BDD7F8+XK+/PJLSktLueqqqyguLq50H2/6HazJ/MC7fgfPP/98XnjhBVavXs3333/Pb37zG2644QY2btxY4Xhvev+g+vMD73r/TrZq1SreeustunTpcsZxpr2HhtSqnj17Gg899JDna6fTabRo0cLIyMiocPytt95qDBo0qNy25ORk4/7776/TOmuquvN75513jIiIiHqqrnYBxuzZs8845oknnjAuvPDCcttSU1ONgQMH1mFltaMq8/vmm28MwDhw4EC91FTb8vLyDMBYvHhxpWO87XfwZFWZnzf/Dh533nnnGf/85z8r/J43v3/HnWl+3vr+HTp0yOjQoYPx5ZdfGpdffrkxfPjwSsea9R5qBagWlZSUsHr1alJSUjzbrFYrKSkpZGVlVbhPVlZWufEAAwcOrHS8mWoyP4CioiJat25NXFzcWf9Lx9t40/t3LhITE2nevDkDBgxg2bJlZpdTZQUFBQBERUVVOsab38OqzA+893fQ6XTywQcfUFxcTK9evSoc483vX1XmB975/j300EMMGjTotPemIma9hwpAtSg/Px+n00lMTEy57TExMZVeM5GTk1Ot8Waqyfw6duzI22+/zSeffML06dNxuVz07t2bvXv31kfJda6y96+wsJAjR46YVFXtad68OVOmTGHmzJnMnDmTuLg4+vfvz5o1a8wu7axcLhePPvooffr04aKLLqp0nDf9Dp6sqvPzxt/BDRs2EBoaSkBAAA888ACzZ8+mc+fOFY71xvevOvPzxvfvgw8+YM2aNWRkZFRpvFnvoZ4GL3WqV69e5f7Lpnfv3nTq1Im33nqLcePGmViZVEXHjh3p2LGj5+vevXuzbds2XnvtNaZNm2ZiZWf30EMP8cMPP7B06VKzS6kTVZ2fN/4OduzYkXXr1lFQUMDHH3/MkCFDWLx4caUhwdtUZ37e9v7t2bOH4cOH8+WXXzb4i7UVgGpRdHQ0NpuN3Nzccttzc3OJjY2tcJ/Y2NhqjTdTTeZ3Kn9/fy655BK2bt1aFyXWu8rev/DwcIKCgkyqqm717NmzwYeKhx9+mLlz5/Ltt99y/vnnn3GsN/0OHled+Z3KG34H7XY78fHxAHTv3p1Vq1bx+uuv89Zbb5021hvfv+rM71QN/f1bvXo1eXl5dOvWzbPN6XTy7bffMnHiRBwOBzabrdw+Zr2HOgVWi+x2O927dyczM9OzzeVykZmZWen53V69epUbD/Dll1+e8XywWWoyv1M5nU42bNhA8+bN66rMeuVN719tWbduXYN9/wzD4OGHH2b27Nl8/fXXtG3b9qz7eNN7WJP5ncobfwddLhcOh6PC73nT+1eZM83vVA39/bvyyivZsGED69at87ySkpK44447WLdu3WnhB0x8D+v0Emsf9MEHHxgBAQHG1KlTjf/973/GfffdZ0RGRho5OTmGYRjGnXfeaYwcOdIzftmyZYafn5/xt7/9zdi0aZMxduxYw9/f39iwYYNZUzij6s7vmWeeMRYuXGhs27bNWL16tXHbbbcZgYGBxsaNG82awhkdOnTIWLt2rbF27VoDMF599VVj7dq1xq5duwzDMIyRI0cad955p2f89u3bjeDgYOPxxx83Nm3aZEyaNMmw2WzGggULzJrCGVV3fq+99poxZ84c48cffzQ2bNhgDB8+3LBarcZXX31l1hTO6MEHHzQiIiKMRYsWGb/88ovndfjwYc8Yb/4drMn8vO13cOTIkcbixYuNHTt2GOvXrzdGjhxpWCwW44svvjAMw7vfP8Oo/vy87f2ryKl3gTWU91ABqA5MmDDBaNWqlWG3242ePXsay5cv93zv8ssvN4YMGVJu/IcffmhccMEFht1uNy688EJj3rx59Vxx9VRnfo8++qhnbExMjHHttdcaa9asMaHqqjl+2/epr+NzGjJkiHH55Zeftk9iYqJht9uNdu3aGe+88069111V1Z3fiy++aLRv394IDAw0oqKijP79+xtff/21OcVXQUVzA8q9J978O1iT+Xnb7+Ddd99ttG7d2rDb7UbTpk2NK6+80hMODMO73z/DqP78vO39q8ipAaihvIcWwzCMul1jEhEREWlYdA2QiIiI+BwFIBEREfE5CkAiIiLicxSARERExOcoAImIiIjPUQASERERn6MAJCIiIj5HAUhERER8jgKQiEgVLFq0CIvFwsGDB80uRURqgQKQiIiI+BwFIBEREfE5CkAi4hVcLhcZGRm0bduWoKAgunbtyscffwycOD01b948unTpQmBgIJdeeik//PBDuWPMnDmTCy+8kICAANq0acMrr7xS7vsOh4Mnn3ySuLg4AgICiI+P51//+le5MatXryYpKYng4GB69+5NdnZ23U5cROqEApCIeIWMjAzee+89pkyZwsaNG/nTn/7EH/7wBxYvXuwZ8/jjj/PKK6+watUqmjZtynXXXUdpaSngDi633nort912Gxs2bODpp5/mL3/5C1OnTvXsP3jwYN5//33eeOMNNm3axFtvvUVoaGi5OkaPHs0rr7zC999/j5+fH3fffXe9zF9EapeeBi8iDZ7D4SAqKoqvvvqKXr16ebbfc889HD58mPvuu48rrriCDz74gNTUVAD279/P+eefz9SpU7n11lu544472LdvH1988YVn/yeeeIJ58+axceNGtmzZQseOHfnyyy9JSUk5rYZFixZxxRVX8NVXX3HllVcCMH/+fAYNGsSRI0cIDAys438FEalNWgESkQZv69atHD58mAEDBhAaGup5vffee2zbts0z7uRwFBUVRceOHdm0aRMAmzZtok+fPuWO26dPH3788UecTifr1q3DZrNx+eWXn7GWLl26eD5v3rw5AHl5eec8RxGpX35mFyAicjZFRUUAzJs3j5YtW5b7XkBAQLkQVFNBQUFVGufv7+/53GKxAO7rk0TEu2gFSEQavM6dOxMQEMDu3buJj48v94qLi/OMW758uefzAwcOsGXLFjp16gRAp06dWLZsWbnjLlu2jAsuuACbzcbFF1+My+Uqd02RiDReWgESkQYvLCyMxx57jD/96U+4XC769u1LQUEBy5YtIzw8nNatWwPw7LPP0qRJE2JiYhg9ejTR0dHceOONAIwYMYIePXowbtw4UlNTycrKYuLEibz55psAtGnThiFDhnD33Xfzxhtv0LVrV3bt2kVeXh633nqrWVMXkTqiACQiXmHcuHE0bdqUjIwMtm/fTmRkJN26deOpp57ynIJ64YUXGD58OD/++COJiYl89tln2O12ALp168aHH37ImDFjGDduHM2bN+fZZ5/lrrvu8vyMyZMn89RTTzF06FB+/fVXWrVqxVNPPWXGdEWkjukuMBHxesfv0Dpw4ACRkZFmlyMiXkDXAImIiIjPUQASERERn6NTYCIiIuJztAIkIiIiPkcBSERERHyOApCIiIj4HAUgERER8TkKQCIiIuJzFIBERETE5ygAiYiIiM9RABIRERGf8/+nXPGLl3dNUgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Training finished!\n"
     ]
    }
   ],
   "source": [
    "dataset = pd.read_csv(\"./revlog_history.tsv\", sep='\\t', index_col=None, dtype={'r_history': str ,'t_history': str} )\n",
    "dataset = dataset[(dataset['i'] > 1) & (dataset['delta_t'] > 0) & (dataset['t_history'].str.count(',0') == 0)]\n",
    "dataset['tensor'] = dataset.progress_apply(lambda x: lineToTensor(list(zip([x['t_history']], [x['r_history']]))[0]), axis=1)\n",
    "dataset['y'] = dataset['r'].map({1: 0, 2: 1, 3: 1, 4: 1})\n",
    "dataset['group'] = dataset['r_history'] + dataset['t_history']\n",
    "print(\"Tensorized!\")\n",
    "\n",
    "from sklearn.model_selection import StratifiedGroupKFold\n",
    "\n",
    "w = []\n",
    "\n",
    "sgkf = StratifiedGroupKFold(n_splits=3)\n",
    "for train_index, test_index in sgkf.split(dataset, dataset['i'], dataset['group']):\n",
    "    print(\"TRAIN:\", len(train_index), \"TEST:\",  len(test_index))\n",
    "    train_set = dataset.iloc[train_index].copy()\n",
    "    test_set = dataset.iloc[test_index].copy()\n",
    "    optimizer = Optimizer(train_set, test_set, n_epoch=3, lr=4e-2, batch_size=256)\n",
    "    w.append(optimizer.train())\n",
    "    optimizer.plot()\n",
    "\n",
    "print(\"\\nTraining finished!\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3 Result\n",
    "\n",
    "Copy the optimal parameters for FSRS for you in the output of next code cell after running."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1.3656, 2.3215, 4.3177, 1.4201, 1.253, 0.012, 1.1693, 0.0521, 0.8351, 1.9622, 0.3648, 0.5041, 1.479]\n"
     ]
    }
   ],
   "source": [
    "w = np.array(w)\n",
    "avg_w = np.round(np.mean(w, axis=0), 4)\n",
    "print(avg_w.tolist())"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.4 Preview\n",
    "\n",
    "You can see the memory states and intervals generated by FSRS as if you press the good in each review at the due date scheduled by FSRS."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1:again, 2:hard, 3:good, 4:easy\n",
      "\n",
      "first rating: 1\n",
      "rating history: 1,3,3,3,3,3,3,3,3,3,3\n",
      "interval history: 0,1,2,5,10,20,39,75,144,272,507\n",
      "difficulty history: 0,7.2,7.1,7.1,7.1,7.0,7.0,7.0,6.9,6.9,6.9\n",
      "\n",
      "first rating: 2\n",
      "rating history: 2,3,3,3,3,3,3,3,3,3,3\n",
      "interval history: 0,4,9,21,48,106,231,493,1031,2117,4271\n",
      "difficulty history: 0,5.7,5.7,5.7,5.7,5.7,5.7,5.6,5.6,5.6,5.6\n",
      "\n",
      "first rating: 3\n",
      "rating history: 3,3,3,3,3,3,3,3,3,3,3\n",
      "interval history: 0,6,16,42,107,264,634,1483,3383,7534,16401\n",
      "difficulty history: 0,4.3,4.3,4.3,4.3,4.3,4.3,4.3,4.3,4.3,4.3\n",
      "\n",
      "first rating: 4\n",
      "rating history: 4,3,3,3,3,3,3,3,3,3,3\n",
      "interval history: 0,8,25,72,203,549,1438,3648,8977,21467,49951\n",
      "difficulty history: 0,2.9,2.9,2.9,2.9,3.0,3.0,3.0,3.0,3.0,3.0\n",
      "\n"
     ]
    }
   ],
   "source": [
    "requestRetention = 0.9  # recommended setting: 0.8 ~ 0.9\n",
    "\n",
    "\n",
    "class Collection:\n",
    "    def __init__(self, w):\n",
    "        self.model = FSRS(w)\n",
    "        self.model.eval()\n",
    "\n",
    "    def predict(self, t_history, r_history):\n",
    "        with torch.no_grad():\n",
    "            line_tensor = lineToTensor(list(zip([t_history], [r_history]))[0]).unsqueeze(1)\n",
    "            output_t = self.model(line_tensor)\n",
    "            return output_t[-1][0]\n",
    "        \n",
    "    def batch_predict(self, dataset):\n",
    "        fast_dataset = RevlogDataset(dataset)\n",
    "        outputs, _ = self.model(fast_dataset.x_train.transpose(0, 1))\n",
    "        stabilities, difficulties = outputs[fast_dataset.seq_len-1, torch.arange(len(fast_dataset))].transpose(0, 1)\n",
    "        return stabilities.tolist(), difficulties.tolist()\n",
    "\n",
    "my_collection = Collection(avg_w)\n",
    "print(\"1:again, 2:hard, 3:good, 4:easy\\n\")\n",
    "for first_rating in (1,2,3,4):\n",
    "    print(f'first rating: {first_rating}')\n",
    "    t_history = \"0\"\n",
    "    d_history = \"0\"\n",
    "    r_history = f\"{first_rating}\"  # the first rating of the new card\n",
    "    # print(\"stability, difficulty, lapses\")\n",
    "    for i in range(10):\n",
    "        states = my_collection.predict(t_history, r_history)\n",
    "        # print('{0:9.2f} {1:11.2f} {2:7.0f}'.format(\n",
    "            # *list(map(lambda x: round(float(x), 4), states))))\n",
    "        next_t = max(round(float(np.log(requestRetention)/np.log(0.9) * states[0])), 1)\n",
    "        difficulty = round(float(states[1]), 1)\n",
    "        t_history += f',{int(next_t)}'\n",
    "        d_history += f',{difficulty}'\n",
    "        r_history += f\",3\"\n",
    "    print(f\"rating history: {r_history}\")\n",
    "    print(f\"interval history: {t_history}\")\n",
    "    print(f\"difficulty history: {d_history}\")\n",
    "    print('')"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can change the `test_rating_sequence` to see the scheduling intervals in different ratings."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([6.0086, 4.3177])\n",
      "tensor([16.2493,  4.3177])\n",
      "tensor([42.1826,  4.3177])\n",
      "tensor([106.9486,   4.3177])\n",
      "tensor([264.1320,   4.3177])\n",
      "tensor([18.2487,  6.7936])\n",
      "tensor([3.8890, 9.2398])\n",
      "tensor([5.7896, 9.1808])\n",
      "tensor([8.6713, 9.1224])\n",
      "tensor([13.0338,  9.0648])\n",
      "tensor([19.3873,  9.0078])\n",
      "tensor([28.7419,  8.9515])\n",
      "rating history: 3,3,3,3,3,1,1,3,3,3,3,3\n",
      "interval history: 0,6,16,42,107,264,18,4,6,9,13,19,29\n",
      "difficulty history: 0,4.3,4.3,4.3,4.3,4.3,6.8,9.2,9.2,9.1,9.1,9.0,9.0\n"
     ]
    }
   ],
   "source": [
    "test_rating_sequence = \"3,3,3,3,3,1,1,3,3,3,3,3\"\n",
    "requestRetention = 0.9  # recommended setting: 0.8 ~ 0.9\n",
    "easyBonus = 1.3\n",
    "hardInterval = 1.2\n",
    "\n",
    "t_history = \"0\"\n",
    "d_history = \"0\"\n",
    "for i in range(len(test_rating_sequence.split(','))):\n",
    "    rating = test_rating_sequence[2*i]\n",
    "    last_t = int(t_history.split(',')[-1])\n",
    "    r_history = test_rating_sequence[:2*i+1]\n",
    "    states = my_collection.predict(t_history, r_history)\n",
    "    print(states)\n",
    "    next_t = max(1,round(float(np.log(requestRetention)/np.log(0.9) * states[0])))\n",
    "    if rating == '4':\n",
    "        next_t = round(next_t * easyBonus)\n",
    "    elif rating == '2':\n",
    "        next_t = round(last_t * hardInterval)\n",
    "    t_history += f',{int(next_t)}'\n",
    "    difficulty = round(float(states[1]), 1)\n",
    "    d_history += f',{difficulty}'\n",
    "print(f\"rating history: {test_rating_sequence}\")\n",
    "print(f\"interval history: {t_history}\")\n",
    "print(f\"difficulty history: {d_history}\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.5 Predict memory states and distribution of difficulty\n",
    "\n",
    "Predict memory states for each review group and save them in [./prediction.tsv](./prediction.tsv).\n",
    "\n",
    "Meanwhile, it will count the distribution of difficulty."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "prediction.tsv saved.\n",
      "difficulty\n",
      "1     0.012619\n",
      "2     0.039585\n",
      "3     0.152993\n",
      "4     0.160535\n",
      "5     0.028540\n",
      "6     0.041922\n",
      "7     0.135168\n",
      "8     0.060211\n",
      "9     0.063138\n",
      "10    0.305288\n",
      "Name: count, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "stabilities, difficulties = my_collection.batch_predict(dataset)\n",
    "stabilities = map(lambda x: round(x, 2), stabilities)\n",
    "difficulties = map(lambda x: round(x, 2), difficulties)\n",
    "dataset['stability'] = list(stabilities)\n",
    "dataset['difficulty'] = list(difficulties)\n",
    "prediction = dataset.groupby(by=['t_history', 'r_history']).agg({\"stability\": \"mean\", \"difficulty\": \"mean\", \"id\": \"count\"})\n",
    "prediction.reset_index(inplace=True)\n",
    "prediction.sort_values(by=['r_history'], inplace=True)\n",
    "prediction.rename(columns={\"id\": \"count\"}, inplace=True)\n",
    "prediction.to_csv(\"./prediction.tsv\", sep='\\t', index=None)\n",
    "print(\"prediction.tsv saved.\")\n",
    "prediction['difficulty'] = prediction['difficulty'].map(lambda x: int(round(x)))\n",
    "difficulty_distribution = prediction.groupby(by=['difficulty'])['count'].sum() / prediction['count'].sum()\n",
    "print(difficulty_distribution)\n",
    "difficulty_distribution_padding = np.zeros(10)\n",
    "for i in range(10):\n",
    "    if i+1 in difficulty_distribution.index:\n",
    "        difficulty_distribution_padding[i] = difficulty_distribution.loc[i+1]"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3 Optimize retention to minimize the time of reviews\n",
    "\n",
    "Calculate the optimal retention to minimize the time for long-term memory consolidation. It is an experimental feature. You can use the simulator to get more accurate results:\n",
    "\n",
    "https://github.com/open-spaced-repetition/fsrs4anki/blob/main/fsrs4anki_simulator.ipynb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "average time for failed cards: 25.0s\n",
      "average time for recalled cards: 8.0s\n",
      "terminal stability:  100.18\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "28c7652ea1a3439b849194c7b6acac14",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/15 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "expected_time.csv saved.\n",
      "\n",
      "-----suggested retention (experimental): 0.81-----\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGwCAYAAACgi8/jAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3wUdf7/n7M12WTTs0lIAoQWOglVLIBSQpFynHe/U0/kQP3C5bCSU0HhwLMBKt4diEosCHrenXgIIkWaqBy9Iz0JNUDqZlO2zfz+2GTJkgSyISGFz/PBPnbmMzOfec+Q3Xnt+/3+vD+SoigKAoFAIBAIBE0QVX0bIBAIBAKBQFBXCKEjEAgEAoGgySKEjkAgEAgEgiaLEDoCgUAgEAiaLELoCAQCgUAgaLIIoSMQCAQCgaDJIoSOQCAQCASCJoumvg2oT2RZ5sKFCxiNRiRJqm9zBAKBQCAQVANFUSgoKKBZs2aoVNf32dzWQufChQvExsbWtxkCgUAgEAhqwNmzZ4mJibnuPre10DEajYDrRgUEBNSzNbWL3W5n3bp1DBkyBK1WW9/mNErEPbw5xP27ecQ9vDnE/bt5Guo9NJvNxMbGup/j1+O2Fjpl4aqAgIAmKXQMBgMBAQEN6o+zMSHu4c0h7t/NI+7hzSHu383T0O9hddJORDKyQCAQCASCJosQOgKBQCAQCJosQugIBAKBQCBostzWOToCQVPB6XRit9vr2wwP7HY7Go2GkpISnE5nfZvTKKnLe6jValGr1bXap0DQEBFCRyBoxCiKQmZmJnl5efVtSgUURSEyMpKzZ8+KOlU1pK7vYVBQEJGRkeL/R9CkEUJHIGjElIkck8mEwWBoUA8sWZaxWCz4+/vfsKCXoHLq6h4qikJRURGXL18GICoqqtb6FggaGkLoCASNFKfT6RY5oaGh9W1OBWRZxmaz4ePjI4RODanLe+jr6wvA5cuXMZlMIowlaLKIbx+BoJFSlpNjMBjq2RJBY6Xsb6eh5XcJBLWJEDoCQSOnIYWrBI0L8bcjuB0QQkcgEAgEAkGTRQgdgUAgEAgETRYhdAQCQb0zYMAAnn766fo2QyAQNEEavdDJy8ujZ8+eJCQk0LlzZz788MP6NkkgENxinnzySXr06IFerychIaFebTlz5gwjRozAYDBgMplISUnB4XBc95g9e/YwePBggoKCCA0N5YknnsBisdwiiwWCuuNMsZVfLMX1akOjFzpGo5EffviBffv2sX37dl577TWys7Pr2yyBQHCLmTBhAv/v//2/WuvPZrN5fYzT6WTEiBHYbDZ+/vlnPv30Uz755BNmzJhR5TEXLlxg0KBBtGnThu3bt7NmzRoOHz7M+PHjb8J6gaB+URSFzy9mc9/OYzx+OJ1ip1xvtjT6Ojpqtdo9RNJqtaIoCoqi1LNVAkH9oCgKxfZbP92Cr1Zd7RE8hYWFTJ48meXLl2M0Gpk6depNn/9vf/sbAFeuXOHAgQM16mP8+PHk5eXRq1cvFixYgF6vJy0tzas+1q1bx5EjR/j++++JiIggISGBV155heeff56//OUv6HS6CsesWrUKrVbLggUL3LVyFi1aRNeuXTl58iQmk6lG1yMQ1BdXbHaeO3qWddlmAEK0GswOJ77q+vGt1LvQ+eGHH5g7dy67d+/m4sWLfP3114wZM8ZjnwULFjB37lwyMzPp1q0bf//73+ndu7d7e15eHv379+fEiRPMnTuXsLCwW3wVAkHDoNjupOOMtbf8vEdmJ2HQVe/rJCUlhS1btrBixQpMJhPTpk1jz549HiGnSZMmsXTp0uv2UxehnQ0bNhAQEMD69etrZMu2bdvo0qULERER7m1JSUlMnjyZw4cPk5iYWOFYq9WKTqfzKAhYVszvxx9/ZOzYsTd1TQLBreTbK3mkHDtLjt2JTpL4c1wkk5ubUNdjKYN6FzqFhYV069aNCRMmVPqB/vLLL3n22WdZtGgRffr0Yf78+SQlJXHs2DH3L52goCD279/PpUuXGDt2LA888IDHF00ZVqsVq9XqXjebXWrTbrc3uYJZZdfT1K7rVtLQ76HdbkdRFGRZRpZdbuGy91tNeRvKKPOsltkILkGQmprKkiVLuPfeewH4+OOPad68ucd+f/nLX3j22WdveM5rKTtnTe6Doij4+fnxwQcfuD0vsix7ZcvFixcxmUwe5w8PDwdcIapu3bpVOHbAgAE8++yzzJkzhyeffJLCwkKef/55d39lttXF/60syyiKgt1ub5KVkRv6Z7gxUN17mO9wMvPURb66kg9AB4Oed+Nj6ODng+xwUNt/vd78n9a70Bk2bBjDhg2rcvvbb7/N448/zh/+8AfA5dL99ttv+eijj3jhhRc89o2IiKBbt25s3bqVBx54oEJfr7/+OrNmzarQvm7duiZbXbb8L1NBzWio91Cj0RAZGYnFYnHnkyiKwrZn77jlttiLCzGXVP6LraCgwL188OBBbDYbHTt2dP/Q0Gg0tGnTBpvN5m7z8fHBx8fnuucs27c8VqsVp9NZ6bYbXoPdTocOHSgpKaGkpMTd7o0tdru9wvmLiorc75XZFRsby8KFC3nppZeYNm0aarWaJ554ApPJ5P4yL38PaxObzUZxcTE//PDDDROmGzMN9TPcmLjePfxF7cOnvqHkqjRIikKSzcz95jzSMo/jXfC3+pR9rqpDvQud62Gz2di9ezcvvviiu02lUjFo0CC2bdsGwKVLlzAYDBiNRvLz8/nhhx+YPHlypf29+OKLHr/MzGYzsbGxDBkyhICAgLq9mFuM3W5n/fr1DB48GK1WW9/mNEoa+j0sKSnh7Nmz+Pv7ezyIA+vRpvIoikJBQQFGo9Gdv+Pv7w+4BhGU/8yp1Wp0Op27bfLkySxbtuy6/VcmGvR6PWq1ukafZ61WS0BAQIVjvbElNjaWffv2efRRNjiiVatWVdo1ceJEJk6cyKVLl/Dz80OSJBYuXEiHDh0APO5hbVJSUoKvry/9+vW7oZhrjDT0z3Bj4Hr3sNgp83r6JT6+mANACx8d89tF0zOg7h0H3vyYadBCJysrC6fTWSEMFRERwdGjRwHIyMjgiSeecCchT5kyhS5dulTan16vR6/XV2jXarVN9kPQlK/tVtFQ76HT6USSJFQqVYOcNLMs1FJmI0Dbtm3RarXs3LmTli1bApCbm8vx48fp37+/e79XXnmFlJSU6/Zf2TWXiYGa3A9JkjxsLcMbW+68805ee+01srKy3KH1sryfzp0739CuslnEP/roI3x8fBg8eLDbtrr4P1apVEiS1GD/xmuLpn59t4Jr7+EecyFP/nKGk0WudJBHm4Uyo3Uz/DS3JgTqzf9ngxY61aF3797s27evvs0QCATVwN/fn4kTJ5KSkkJoaCgmk4np06dXeIibTCavRhudPHkSi8VCZmYmxcXF7u+Ejh07VjrSyRu8sWXIkCF07NiRRx55hDlz5pCZmclLL71EcnKy+0fWjh07GDduHBs2bCA6OhqAf/zjH9x55534+/uzfv16UlJSeOONNwgKCqpRGE4gqCvsssLb6Zn87cwlnApE6rS80z6We0MbblSkQQudsLAw1Go1ly5d8mi/dOkSkZGR9WSVQCC4GebOnYvFYmHkyJEYjUaee+458vPzb6rPxx57jC1btrjXy0Y3paWluT1HkiTx8ccf12l9GrVazapVq5g8eTJ9+/bFz8+PRx99lNmzZ7v3KSoq4tixYx7JlDt27GDmzJlYLBbat2/P+++/zyOPPFJvyeUCQWUcKyxhypEMDpQWAPyVKYjX2sUQrG3QUqJhCx2dTkePHj3YsGGDe8i5LMts2LCBP/3pT/VrnEAgqBH+/v589tlnfPbZZ+62G4WGbsTmzZuvuz0tLQ2NRsNdd91V5T6ffPLJTdlQRosWLVi9enWV2wcMGFCh1teSJUtq5dwCQV0gAx+ez+LNjMtYZYVgjZrX28UwJiL4xsfKVpzOIrTaG+9bV9S70LFYLJw8edK9npaWxr59+wgJCaF58+Y8++yzPProo/Ts2ZPevXszf/58CgsL3aOwBAKB4EasXr2aJ554grZt29a3KQJBo+JsiY13DBEcT3NFVu4LMfJ2++ZE6m+cI1NQ8AtHjjyHTm8iodvHdZJQXx3qXejs2rXLXU8DcI+KevTRR/nkk0/4f//v/3HlyhVmzJhBZmYmCQkJrFmzptI6OQKBQFAZycnJ9W2CQNCoUBSFLzJzmHHiPBaNDwaVilltm/H7qNAbChZFcZKR8SGn0+ajKHa0tiuUlJzD1zf2FlnvSb0LncrcuNfypz/9SYSqBAKBQCC4BVw7hUNrRwmf9OlC2wC/Gx5bVJTOkV9SyM/fA0BY2CA6tH8Vna7+Ziyod6EjEAgEAoGgYXDtFA5TW5iIPbCDlr49rnucoiicv/AFJ068hiwXo1b7E99uBpGRY+stZFXGbSl0FixYwIIFC3A6b/3khwKBQCAQNDTy7Q6mnzjPfy7lAtDJ34d/dGhBG72G1TeYJ9dqvcQvv7xAds4PAAQH3UGHDnPw9Y2ua7OrxW0pdJKTk0lOTsZsNhMY2FDqyAoEAoFAcOv5IaeAp4+e4YLVjgr4U3MTz8VFolepbjin1KVLqzh6bAYORz4qlY7Wrf9MbMyjSFLDKWJ6WwodgUAgEAhud4qcMq+eukDq+SwAWvrq+HuHFvQKvHEujt2ex7FjM7l0eRUARmNnOnach79fwxvZKISOQCAQCAS3GZVO4dCmGX7VmMU+O3sLR355AZvtMpKkpmWLZFq2/CMqVcOcZkMIHYFAUO8MGDCAhIQE5s+fX9+mCARNmpuZwsHpLOLEydc5f/5zAAyGVnTq+BYBAV3r2uybouEE0QQCgaAG7N+/nwcffJDY2Fh8fX3p0KED7777br3Zc+DAAe655x58fHyIjY1lzpw5Nzxm586dDBw4kKCgIIKDg0lKSmL//v0e+6xdu5Y77rgDo9FIeHg4v/71r0lPT6+jqxA0RY4VljBi93HeyXCJnLERwWzuHV8tkZNv3sP2HSPcIicm5lF69/qmwYscEEJHIBA0cnbv3o3JZGLp0qUcPnyY6dOn8+KLL/KPf/zjpvq12WxeH2M2mxkyZAgtWrRg9+7dzJ07l7/85S988MEHVR5jsVgYOnQozZs3Z/v27fz4448YjUaSkpLciaBpaWmMHj2a++67j3379rF27VqysrIYO3Zsja9PcPsgKwrvn73MkF3HOGApJlij5v1OLVjYsQVBN5inSpZt6HTfsn//7ykuPoNeH0liwhLi281Arfa9RVdwc4jQlUAguKUUFhYyefJkli9fjtFoZOrUqTfV34QJEzzWW7VqxbZt21i+fLlXhUYHDBhA586d0Wg0LF26lC5durBp0yavbFm2bBk2m42PPvoInU5Hp06d2LdvH2+//TZPPPFEpcccPXqUnJwcZs+eTWysq3LszJkz6dq1KxkZGZhMJnbv3o3T6eSvf/2re6b3qVOnMnr0aOx2O1ptw8yNENQ/Z4qtPHX0DNvyCgHvpnCwWI5x6PCz6PRHAYiM/BXt2s5Aq224M5VXhvDoCARNCUUBW+Gtf92gunl5UlJS2LJlCytWrGDdunVs3ryZPXv2eOwzadIk/P39r/u6Hvn5+YSEhHh9+z799FN0Oh0//fQTixYtAmDYsGHXtaNTp07u47dt20a/fv3Q6XTutqSkJI4dO0Zubm6l54yPjyc0NJTU1FRsNhvFxcWkpqbSoUMH98zrPXr0QKVS8fHHH+N0OsnPz+ezzz5j0KBBQuQIKuVciY2/nDzPvTuPsS2vEINaxbz4WJZ1bXVDkeOawuF9duwcQ2HhURTZj44d/kanjvMancgB4dERCJoW9iJ4rdmtP++0C6C78ZBUi8VCamoqS5cuZeDAgYBLXMTExHjsN3v27Bp7en7++We+/PJLvv32W6+Pbdu2bYWcmsWLF1NcXFzlMeWFRmZmJnFxcR7by+bly8zMJDi44gzORqORzZs3M2bMGF555RW3HWvXrkWjcX1Fx8XFsW7dOn7729/yf//3fzidTvr27XvdWdIFtyf7zEUsOnuZlVfycJb+/ugd6MffOjSnpa/+hscXF5/h8JEU8vN3ARASci9nz/QnLGxIXZpdp9yWQkdURhYI6odTp05hs9no06ePuy0kJIT4+HiP/UwmEyaTyev+Dx06xOjRo5k5cyZDhnj/xdyjR8Uy99HRdVvdtbi4mIkTJ3LXXXfxxRdf4HQ6mTdvHiNGjGD79u2ASyQ9/vjjPProozz44IMUFBQwY8YMHnjgAdavX1/vJfYF9YtTUVifZWbR2cv8L7/Q3X53kD//FxvOwNAAVDeciFPhwoUvOXHyVZzOItRqP9q1fZmwsNGcyfiuri+hTrkthY6ojCxosmgNLu9KfZy3Fpk0aRJLly697j4Wi8Vj/ciRIwwcOJAnnniCl156qUbn9fOr6JUaNmwYW7durfKYFi1acPjwYQAiIyO5dOmSx/ay9cjIyEqP//zzz0lPT2fbtm3u/JvPP/+c4OBgVqxYwfDhw1m4cCGBgYEe3qalS5cSGxvL9u3bueOOO7y7UEGToNDp5F+ZuXxw9jJpxa7keY0EY0zB/F9sOF2M1ftcWq2X+eXoi2RnbwYgKKg3HTvMwdc39oaVkRsDt6XQEQiaLJJUrRBSfdG6dWu0Wi3bt2+nefPmAOTm5nL8+HH69+/v3s/b0NXhw4e57777ePTRR3n11Vdr1WZvQld9+/Zl+vTpHgnC69evJz4+vtKwFUBRUREqlcrDK1O2Lsuyxz7lUZcWdivbR3D7cMlq56PzWSw5n0WuwxWZCNSoGdcslAkxYUTpdTfooVxfl1dz9OjLOBx5SJKO1q2fo3nshAY1hcPNIoSOQCC4Zfj7+zNx4kRSUlIIDQ3FZDIxffr0Cg9xb0JXhw4d4r777iMpKYlnn32WzMxMwCUEwsPDb9pmb0JXDz30ELNmzWLixIk8//zzHDp0iHfffZd33nnHvc/XX3/Niy++yNGjrpEsgwcPJiUlheTkZKZMmYIsy7zxxhtoNBruvfdeAIYPH878+fOZPXu2O3Q1bdo0WrRoQWJi4k1fo6BxcNhSzPtnL/P1pTzspQMAWvjoeCI2nN9FhuCnuXFV4zLs9nyOH59F5qUVABj9O9Gx41z8/eNvcGTjQwgdgUBwS5k7dy4Wi4WRI0diNBp57rnnyM/Pr3F///nPf7hy5QpLly71CHe1aNHCXVAvPT2duLg4Nm3axIABA27yCqomMDCQdevWkZycTI8ePQgLC2PGjBkeQ8vz8/M5duyYe719+/asXLmSWbNm0bdvX1QqFYmJiaxZs4aoqCjMZjP33Xcfn3/+OXPmzGHOnDkYDAb69u3LmjVr8PVtHLVMBDVDURQ25hTw/tnL/JB7NVzbO9CPSbHhJIUFovYyRys750d++eV5rNZMQEXLlpOJa/knVKrqe4IaE5KieDEutIlRlqOTn59PQEDjGzJ3Pex2O6tXr2b48OFi+GkNaej3sKSkhLS0NOLi4vDx8alvcyogyzJms5mAgIAKHptbzaZNmxg7diynT5+uMoTUEKnre9jQ/4Zulob+Gb4eJU6Zry7l8v7ZKxwvKgFc9WDuNwUxKSac7tWYePNanM4iTp6cw7nznwHg69uSTh3nERhYtVewod5Db57fwqMjEAiaPKtXr2batGmNSuQIbk+ybA4+OZ/Fx+ezyLY7APBXq3g4KpSJMWE0r8YQ8crIz9/L4SNTKS5OByAm+hHatPkzanXtDiRoiAihIxAImjxz586tbxMEgutyvLCED85e4d+XcrDKrkBLtF7LYzHhPNwslAAv8m/KI8s20tL/QXr6e4CMXh9Jh/ZvEBp6Ty1a37ARQkcgEAgEgnpAURR+zLWw6OwVNuSY3e3djL5MjjUxIjwIrapmNZJk2UFW1gbS0v+BxXIEgMiI0bRrNxOt9vYqqyKEjkAgEAgEtxCbLLPich7vn73CIYurdIEEDA0L5P9iw+kT6FfjIpA2Ww4XLvyL8+eXUWJ11dTSaIJo3/4VIkzDa+sSGhVC6AgEAoFAcAvItTtYeiGb1HNZZNpchfh8VSp+FxXC4zHhtDLULP8GwFxwiHNnl3Dp8kpk2VU8UKsNIbrZ/yMmdjx6XVitXENjRAgdgUAgEAjqkLQiKx+cu8I/L+ZQXFrg0aTTMDE6nHHRoQRra/YolmU7l6+s4dy5JeTnX50Y12jsTGzMOEym+1Gray6ebhan08m2bduQJIm77rqr3uy4LYWOmOtKIBAIBHWJoij8L7+QD89e4busfMrquHT082FScxOjTUHoa1gywGq9wvkL/+T8+c+x2S4DIElaTKZhxMaMIyAgod7nP8vMzGTFihVcvHgRtVpNx44d623U420pdMRcVwKBQCCoC0qcMssv55J67gqHLSXu9vtCjEyONXF3sH+NRIiiKJjN+zh7bgmXL3+HorhCXzpdONHRDxHd7Hfo9d5PhFvbOBwOfvjhB3788UdkWcbHx4ekpCSCgoLqzabbUugIBAKBQFCbXLTa+OR8Np9dyCLH7ooW+Kokfh0RwuOx4cT71awgo9Np5fLlbzl7bgkFBQfd7YEBicTEjMNkGtpgKhqfO3eOFStWcOXKFcBV9XvEiBEYjcZ6tUsIHYFAUO8MGDCAhIQE5s+fX9+mCATVRlEUdpmLWHzuCt9eycNRGp+K1mv5Q3QYDzULJaSG+TclJRc5f34Z5y98id2eA4BKpSPCNJKYmEcICOhSW5dx09hsNjZt2sT//vc/FEXBz8+P4cOH07Fjx3oPoYGrorRAIBA0WrKzsxk6dCjNmjVDr9cTGxvLn/70J8xm840PrgMOHDjAPffcg4+PD7GxscyZM+eGx+zcuZOBAwcSFBREcHAwSUlJ7N+/32MfRVGYN28e7dq1Q6/XEx0dXesztQuqh1WW+XdmDkN3H2fknhOsuOwSOXcE+rG4U0u239GRP7WI8FrkKIpCbu4ODh78Ez9v6096xnvY7Tno9ZG0bjWVu+78kY4d5zQokZOWlsZ7773Htm3bUBSFrl27kpycTKdOnRqEyAHh0REIBI0clUrF6NGj+etf/0p4eDgnT54kOTmZnJwcPv/88xr3a7PZ0Om8CwmYzWaGDBnCoEGDWLRoEQcPHmTChAkEBQV5TOxZHovFwtChQxk1ahQLFy7E4XAwc+ZMkpKSyMjIcO/31FNPsW7dOubNm0eXLl3IyckhJyenxtcn8J7LVjufXshiyYVsrthc0zPoVRK/MgUzMSaMLsaaTafgdBaTmbmCc+c/w2I56m4PCupDbMw4wsIGoVI1rMd1SUkJ69evZ/fu3QAEBARw//33065du3q2rCIN684JBIImT2FhIZMnT2b58uUYjUamTp16U/0FBwczefJk93qLFi344x//6PW0DwMGDKBz585oNBqWLl1Kly5d2LRpk1d9LFu2DJvNxkcffYROp6NTp07s27ePt99+u0qhc/ToUXJycpg9ezaxsbEAzJw5k65du5KRkYHJZOKXX37hvffe49ChQ8THxwMQFxfnlW2CmrPXXETquSusuJyHvXQe7EidlvHRofy+WRhhupo9SouLz3Lu/FIuXPg3Dkc+ACqVD5GRY4iNGYe/f3ytXUNtcvz4cVatWuX2mvbo0YPBgwc32IlhhdARCJoQiqJQ7Ci+5ef11fhW202dkpLCli1bWLFiBSaTiWnTprFnzx4SEhLc+0yaNImlS5detx+LxVJp+4ULF1i+fDn9+/evtv1lfPrpp0yePJmffvrJ3TZs2DC2bt1a5TEtWrTg8OHDAGzbto1+/fp5eIKSkpJ48803yc3NrXR4bXx8PKGhoaSmpjJt2jScTiepqal06NCBli1bUlRUxKpVq2jVqhWrVq1i6NChKIrCoEGDmDNnDiEhIV5fp+DG2GWFb6/ksfjcFXaZi9ztPQMMPBYTXuPpGRRFISf3J86d+4ysrA1QOvDcxyeWmJjf0yzqNw12ioaioiLWrFnDgQMHANePjFGjRjV40S2EjkDQhCh2FNPn8z63/LzbH9qOQXtjt73FYiE1NZWlS5cycOBAwCUuYmJiPPabPXu2156eBx98kBUrVlBcXMzIkSNZvHixV8cDtG3btkJOzeLFiykurlo8arVa93JmZmaFL/2IiAj3tsqEjtFoZPPmzYwZM4ZXXnnFbcfatWvRaFxf0adPnyYjI4N///vfLFmyBKfTyTPPPMMDDzzAxo0bvb5OQdVk2RwsvZDFJ+ez3dWLtZLEaFMQE2PCSQyoWXjK4bBwMfNrzp37jKKiU+72kJB7iI0ZR2hofySpZhN33gp++eUX1q5dS2FhIZIkcccdd3Dvvfd6Hd6tD4TQEQgEt4xTp05hs9no0+eqGAsJCXGHY8owmUyYTN7VBHnnnXeYOXMmx48f58UXX+TZZ59l4cKFXvXRo0ePCm3R0dFe9eEtxcXFTJw4kbvuuosvvvgCp9PJvHnzGDFiBNu3bwdAlmWsVitLlixx50CkpqbSo0cPjh07VuH+CbznUEERi89l8fXlXPfs4eE6DeOahfJoszBMeu0NeqicoqI0zp77jIsXv8LpdHkh1Wo/oqLGEhP9CH5+rWvtGuqCgoICTp8+zd69ewEIDw9n9OjRFX6cNGSE0BEImhC+Gl+2P7S9Xs5bm9QkdBUZGUlkZCTt27cnJCSEe+65h5dffpmoqKhqn9fPz69Cmzehq8jISC5duuSxvWw9MjKy0uM///xz0tPT2bZtG6rSSrmff/45wcHBrFixguHDhxMVFYVGo/FI9OzQoQMAZ86cEUKnhjhkhTVZ+Sw+d4X/5Re627sZfXk8JpyRNaxerCgKOTk/cvbcJ2Rnb3a3GwxxxEQ/QlTUWDSa+q0tcyMURWHfvn2sXbuWkpISVCoVd999N/369XN7GhsLjctagUBwXSRJqlYIqb5o3bo1Wq2W7du307x5cwByc3M5fvy4R05NTUJX5ZFL5xOyWq03ZzDeha769u3L9OnTsdvt7vb169cTHx9fZfn7oqIiVCqVR45T2XrZddx55504HA5OnTpF69YuD8Dx48cBl9ASeEeu3cGyC9l8fD6L81ZXeEojwf3hQTwWE06PAEONhka7Rk/9l7PnPqWw8ERpq0RY6L3ExDxCSMjdSFLDr+qSl5fHypUrOXXKFWLz9fXl4YcfblRenPIIoSMQCG4Z/v7+TJw4kZSUFEJDQzGZTEyfPt3tySjDm9DV6tWruXTpEr169cLf35/Dhw+TkpLCXXfdRcuWLW/aZm9CVw899BCzZs1i4sSJPP/88xw6dIh3332Xd955x73P119/zYsvvsjRo65hxIMHDyYlJYXk5GSmTJmCLMu88cYbaDQa7r33XgAGDRpE9+7dmTBhAvPnz0eWZZKTkxk8eHCDHM7bUPnFUkzquSy+upRDcWl4KkSrZlyzMB6NDiVKX7N8kxJrJufOLeX8+S9wOPKAsvDUA8TGjMNgaFlLV1C3yLLMrl27+P7777HZbKjVavr160dubq4716wxIoSOQCC4pcydOxeLxcLIkSMxGo0899xz5Ofn17g/X19fPvzwQ5555hmsViuxsbGMHTuWF154wb1Peno6cXFxbNq0iQEDBtTCVVROYGAg69atIzk5mR49ehAWFsaMGTM8hpbn5+dz7Ngx93r79u1ZuXIls2bNom/fvqhUKhITE1mzZg1RUVGYzWZUKhUrV65kypQp9OvXDz8/P4YNG8Zbb71VZ9fSVJCBddlmPr6Yy495V8Odnfx9eCwmnF+ZgvFR18zLkm/ez9mzH5fOPeWqq+PjE0NszKM0a/abBh+eKk9WVhbffPMNZ86cASA2NpbRo0cTGBjI6tWr69m6m0NSFEW58W5Ni/Kzlx8/fpz8/HwCAgLq26xaxW63s3r1aoYPH+7hWhdUn4Z+D0tKSkhLSyMuLq5B1q+QZRmz2UxAQEAFj82tZtOmTYwdO5bTp0/X2wzKNaGu72FD/xuqCVk2B8cLSzhRVMLRgiJWnr9Elsr1+VUBw8IDeSwmnDsC/WoUnpJlO1eurOXs2U/IN+91twcF9aF57HjCwgY26NFT1+J0Ovnf//7Hpk2bcDgcaLVaBg0aRK9evVCpVA32e7BsUu7qPL9vS4+OmL1cILi9WL16NdOmTWtUIkdQNYqicLlU0BwrKuF4YemrqMQ9oaYblZZAjZrfNwtlfHQYsT41C0/Z7Xmcv/Al584twWrNBECSdERG3E9s7HiMxk43e1m3nEuXLrFixQouXLgAQKtWrRg5cmST+5zclkJHIBDcXnhbJVnQMFAUhfNWu4eQcXlrrOQ7nFUe19xHRzs/H9r4aLGfOMrzA/sR4KOvkQ2FhSc5e+5TLl5cjiyXAKDVhhIT/TDR0Q+h14fXqN/6xOFwsHXrVrZu3Yosy/j4+JCUlERCQkKDmZ+qNhFCRyAQCAT1ilNROFtiu0bQWDlRVEKhU670GBUQ56unnZ8PbQ2u93Z+PrQ26PFTu0JHdrud1b/swdfLHBzX8PCtnD37Mdk5P7jb/f07EBs7ngjTSNTqmgmn+ub8+fOsWLGCy5cvA64cseHDhze59I3yCKEjEAgEgluCQ1ZIL7GWEzSu5ZNFJZTIlaeLaiRo5etDO79SMWPwId7PhzhffY2TiKvC6SziYuZ/OXv2k3LViyXCwwYRG/sHgoJ6N1qPh81mY/Pmze5Zxg0GA8OHD29Qs4zXFULoCAQCgaDWybTa2WMu5LClmBOlguZUkdU9Kea16FUSbQx62hl83N6ZdgYfWvrqazSnlDeUlFxwDQ+/8E/35JpqtT/Nmv2G2Jhx+Po2r9Pz1zXp6el888037tnuu3TpwtChQystkNkUEUJHIBAIBDdFocPJ/oJi9pgL2VtQxB5zERdLC/Fdi0GtuhpqMlwVNM19dahvsWchP38vZ85+zJUra1AUV86Pr09zYmLH0SzqgUY1PLwycnJy+Pnnn9m1axfgmlft/vvvv+0qaQuhIxAIBIJq41QUjheWsMdcxB5zIXvMRRwrLOHaTBoV0N7Ph65GA/F+V7000XotqnoMlciynctX1nD27CeYzfvc7cFBdxAbO56wsPsa1fDwa7HZbBw5coS9e/eSkZHhbu/RoweDBw9uMmUEvEEIHYFAIBBUyUWrrVTUuITN/oJiiipJEG6m15IYYKB7gB/dAwx09ffFT9NwBIPdnsv58//k3PmlnsPDI0cRGzMeo7FDPVtYcxRF4ezZs+zdu5fDhw9js9nc21q3bs3dd99NXFxcPVpYvwihIxAIBALAFYLaVxp62msuYm9B5SEoP7WKBKOB7gGuV2KAH5E1nN27rpFUmRw/MYPLl79xDw/X6cKIjv490dEPoteF1bOFNcdsNrN//3727dtHdna2uz04OJjExES6desmasUhhI5AIGgADBgwgISEBObPn1/fptw2KIpCiVPG4nTyxukLbLHYqgxBdfD3oXuAH4kBBhKNBtr5+dzyfJob4XQWUVh4isLCkxQWnXS9F57Azy+DTJcDB6N/J9fw8IgRqFSNc3i4w+Hg2LFj7N27l1OnTlE2uYFWq6VTp04kJibSvHnzJj+SyhuE0BEIBE2G7OxsunXrxvnz58nNzSUoKOiW23DgwAGSk5PZuXMn4eHhTJkyhT//+c/XPWbnzp288MIL7N69G0mS6N27N3PmzKFLly4AbN68mXfffZcdO3ZgNptp27YtKSkpPPzww9W2yybLFDlLX7JMsVPGabWSa3eyypzPOdn1YIwuF4JKDDDQ1ejrrkvTEHA4CkpFzCkKi06ULp+kpORcpfsrimt4ePPmEwgK6tVoBcDFixfZu3cvBw8epLi42N3evHlzEhMT6dixI3p94xRvdY0QOgKBoMkwceJEunbtyvnz52+6L5vNhk7n3XQBZrOZIUOGMGjQIBYtWsTBgweZMGECQUFBHhN7lsdisTB06FBGjRrFwoULcTgczJw5k6SkJHcy6bZt2+jatSvPP/88ERERrFq1inHjxhEYGMj9999foU+HrFBcKmyKnTKFsoyjkjo1Kgl8VBKPRIXSLjiA7gF+RDSQEJTdnlvqobkqZgqLTrrzaypDqw3Bz68tfn5t8PNrg14fx7ZtZ+jf77cNap6m6lJYWMjBgwfZu3cvly5dcrcbjUYSEhJISEggNDS0Hi1sHAihIxAIbimFhYVMnjyZ5cuXYzQamTp1aq30+95775GXl8eMGTP47rvvvD5+wIABdO7cGY1Gw9KlS+nSpQubNm3yqo9ly5Zhs9n46KOP0Ol0dOrUiX379vH2229XKXSOHj1KTk4Os2fPJjY2FoCZM2fStWtXMjIyMJlMvPjiix6Tej711FOsW7eO5cuXM3T4CIpLPTRlnhpbZcX3JPBRqfBTq/BVqTCoVWCTSNdp+b/mpnoZjaMoCjZ7tqeYKTxBUdEpbLasKo/T6yLw82uDoVTQ+Bna4OfXGp3O86Fvt9tByanry6hVnE4np06dYu/evRw7dgxZdgUT1Wo17du3JzExkVatWtX7RLmNCSF0BIImhKIoKOXc2rcKyde32iGBlJQUtmzZwooVKzCZTEybNo09e/aQkJDg3mfSpEksXbr0uv1YLBb38pEjR5g9ezbbt2/n9OnTNboGgE8//ZTJkyfz008/uduGDRvG1q1bqzymRYsWHD58GHB5Xvr16+fhCUpKSuLNN98kNze30skS4+PjCQ0NJTU1lWnTpuF0OklNTaVDhw60bNmSoqIi975ORXEJGqfM5dxcTK3bcthS+f+3TiVhKCdqfNWqCnk1JbcojKMoClZrJoVF13hoCk/icORVeZyPTzR+htYeXhqDoQ1abdObruDKlSvs27eP/fv3e/xtR0VFkZiYSOfOnTEYDPVoYeNFCB2BoAmhFBdzrHuPW37e+D27karxJWyxWEhNTWXp0qUMHDgQcImLmJgYj/1mz55dbU+P1WrlwQcfZO7cuTRv3vymhE7btm2ZM2eOR9vixYs9ciKupXxIJDMzs8Iw3oiICPe2yoSO0Whk8+bNjBkzhldeecVtx+o1a7BKKsySinyrnWKnjLXUU7N2+Vfs372bF975G+ASNb7lRY1KhaaOqwlXhdWWRaHlGJbC41gsx9zCxum0VHGEhK9vrEvMGNqUEzSt0WiaduXekpISDh8+zN69ezl37mqOkcFgoGvXriQkJBAZGVmPFjYNbkuhs2DBAhYsWIDTWfXstwKBoPY5deoUNpuNPn36uNtCQkIqVGo1mUyYTKZq9fniiy/SoUMHfv/739+0fT16VBSJ0dHRN93v9SguLmbCxIn07nsnC5d8RpHdznvvvMOQ4cNZtmkrPr6+YL/6XbXnxx/4S/Ik3lr4HkN6JNabqHE4CiksPIGl8BiFluNYCo9hsRzDbq88VCRJanx9W7qFTJmoMRhaoVbfPkXsZFkmIyODvXv3cuTIERwOBwCSJNG2bVsSExNp27YtGs1t+XiuE27LO5mcnExycjJms1nUGBA0KSRfX+L37K6X89Ym3oSuNm7cyMGDB/nPf/4D4B5uGxYWxvTp05k1a1a1z1vZ3D/ehK4iIyM9kkYB93rZL3Nn6bDusnyaJR99wqm0NN5fu8Gdd/Hq4o+5p0U0W7/7llG/GkuAjw6DWs3OrVuZ8tsHmP/OOzwxcUK1r+tmkGU7RcXpLi9Nqaem0HKc4pIzVRwh4evbHH//ePz94kvDTm0xGFqiUnmX3N2UyM3Ndde8ycvLc7eHhYWRmJhI165dMRob95QTDZXbUugIBE0VSZKqFUKqL1q3bo1Wq2X79u00b+6aKDE3N5fjx4/Tv39/937ehK6++uorj9DSzp07mTBhAj/88AMtW7WudLRRZSi4RJLzmkkn3//wwxuGruTSY/rccQcvv/QSVpsNrVaLAqxeu5Y27dpR4GPgcmExJU7P/i1FRahUKnRqFQa1Gl+1Cp1OjVqSiNSoMCkOArQGfvjhB0aPvJ8333yzysTmm8GVR3OxnJg55vLWFJ5GUWyVHqPThePv1w6/UlHj798OP782qNUN92/wVmK32/nll1/Yu3cvaWlp7na9Xk/nzp1JTEwkOjq60Q55bywIoSMQCG4Z/v7+TJw4kZSUFEJDQzGZTEyfPr3CCJLyoSuX+ABHqQhxKgoO4IrNjkNR0EfHolGU0u2gOusaWu6MackVg5ErVSTrXkuhUybL7uBQwTX7B4TAdXJfS4CDpcd0G/krVLNm8cCj4xn/9LOcOnKEf/z970x97U1yS8NPG1d+w99nzeT7fQcwqFX8emgS81+ezoLnpzJlyhSKZJk33ngDjUbDvffeC8CmTZsYNWoUTz31FL/+9a/JLK2Ap9PpCAkJqdb1lUeWHciyFZvNjN2ex6HDT1NY+D8cjoJK91er/fDza4e/X1v8/eNLhU27CqOcBC6ysrLYvXs3+/bt8xDJcXFxJCYm0r59e69LFwhqjhA6AoHgllAmWF55403yzAWMHDkSf6ORSU89zZXcPCwOJxnFVrdgcZaKl2o6ZNzYKzngfEYGI7p25MNV39Hrnn61dEUVMQYG8t7X3/D61Gd5qP/dBIWGMvn5F/nD449jUEv4qlQEWItIO3GcVgZXcbfILp1ZuXIls2bNom/fvqhUKhITE1mzZg1RUVGYzWaWLFlCUVERr7/+Oq+//rr7fP3792fz5s1V2qMoMrJsxeksQZZdL6dsRZFd0zrYbApOZyEFBYeR5QIkSYPBEOcKOfm3K/XSxOPjE40kieHM18PpdHL06FF27drl4b0JDAwkMTGRhISEeilgKQBJURQvv0aaDmU5Ovn5+QQENK3hina7ndWrVzN8+PBGWSirIdDQ72FJSQlpaWnExcXdshooZWLFSZl3hWveFZxcFSk2hwNUavc+N4NKAo0koZYk1FUsa6C0TSptcx27adMmfv3rX3Pq1Cn3yKeamFOTY1RQ49CELMuYzWYCAgJuWDdFlu0uIVMqapzOYmTZWrVdKi12u5azZ68QHJxDUHAr/AxxjXZqhMq4FZ/hvLw8du/ezd69e915Y2WJxT179qRNmzaNuuZNQ/0e9Ob5LTw6AsFthqxcI1IoJ1IqESzlw0beeldAxbUHqSQ8hEil4oXy7RIaqeZiAeC7775j2rRpHmGexpoV4fLS2HDKxchuUVOCojgq3V+S1KhUPqjVPqhUeveyJKkpKSlBq7URHp5QLwUDGyuyLHPy5El27tzJiRMn3O3+/v50796d7t27C+9NA0IIHYGgEaMoYJdlFKeMo9SL4lAUHLKC3UPMXF32XqxURCoVJSoJNFwVKuXfVYC1qIgAfz80kupqez0kXs6dO/eWn7M2UBQnUILdXuqtkUuQnVaq8i2pVHpUah/UKp9ygkYrkl1riYKCAvbu3cvu3bvJz893t8fFxdGzZ0/at2+PugHNCyZwIYROHWCTZZJ2HcdH5apG6lOumJePSoVPaazetazCVyWVvpfuo5bKHes63uBeVqG9RTUzZMX1sLTLV99tHu+ye92uKNjk0nBFufVrQxxy+dwLqg57eLvftQ90ufQ4g0pFgFZNgFqNUaMiQKOu9GVUqwjUqPHXqOt9VuZCh5Msu4Msm4MrNkfpsr3csqtd67DxgkHBVmRFqvzH/HVRSVfDPG5vCp5t6nIeFg8RU417JMsyZhQMKlWjdt3fChRFQZZtyHLx1dCTXIIi21GpwHpNBEqSVKVCxheVysctbkQeTe2jKAppaWns2rWLo0ePuqdk8PX1JSEhgR49ehAWFlbPVgquhxA6dUCxU+aXwpI6619TOmeNh5AqL4zUEnrgkk8oq46exYlUTqDIHoLlWmFy9V3GcZtmb/mrVW7x4zBE8OXhDIJ0WozqikLJqFETqCkVUWrXskGt8vgF7VQUckoFSpaHWLFXImgcFJd+kd6IGJWCguvBppEkNKrSd49XJcIF17L4lV8/KIrzmjwal6ihynRJNRqNX2noySVuhJem7ikqKmL//v3s2rWL7Oxsd3tsbCw9e/akY8eODSpnRVA1QujUAb5qFf/q1to90V6JLFMsu4qElbjbFEpKZxcukV3rxe5lmWKnUm5f1/FlOBSwOGUsThns1zFE5w9Z5lq7LgnQqyS0koRWJaGTVGhUoJNUpeuSx7s7QdQdyqgY3lAjlfMseD6I1aWhETWSO0xybWik7BzubVx9sEu4hgwXOJ2YHZ6vAodMvsNJgcOJ2el6Lym9x+57C6Dx4VRuVaXrK0ctgVHtEkHFTpkcu4PqSZer+KokwnRawrQawnUawnSa0mWtezlEcaJcukBrPx98a7lgn8B7XOM6XC9Fkd3vsmz1SBKW5cpr0iBJ5UJOpZ4alR6z2YKPz42TkQU3j6IonDt3jl27dnH48GF31WKdTkfXrl3p2bOnmJKhESKETh2gU6noF1K7FS4VRXGLo/JCqKzCakmpkCou3V5oc3Dwl1/o2rEDPhpNJUJE5bGuKbddK0noVBJaSVX67lqv75BOXWOVZbcIMjuc5FitbNmxizZdu1EEV4VR6XZzOaFUtu5QwKlAnsNJnuNq2X4JCNaqCdO6hEp4qVhxLWvLLbva/TQ3jvOXlJSQJklN/pd9eQHhuQ4uMeG5frWtdDsKuIVH2b7yNcKktA2l1LNyta3K7ZX2Wz0kldYjj0al8kWl0lX4v5Sr6d0T3BxWq5UDBw6wa9cuj8rWERER9OrViy5duqDXN53RaLcbQug0EiRJwlftyvWpDna7ndX7zQxvFircq9VEr1IRrlMRXlrHy27XUuAoYnhkcLXuoaIoFMsKBQ6nWxT5qFWEazWEaDX1NslibaEocunLiUsoOEs9F2XLFdclyUZxcZnbv1SolBMLZe0VxAtK6Wpjjp+6RKik0pWKGl93+EmlEl+9DYHMzEx27drFgQMHsNlcnjaNRkPnzp3p2bOnqFrcRBCftjpAURScTkvpL7SKv9IETRNJkjCoXYnjEfqGIy6rEigKTlAqWy/b1+leVpCvk0NSNZIEdTd3rlT6T3Itlw4Yd33eJPc+rnVVuWUJJNXV4yQJ6drtSKWJvZJHH57bK/Zb8RhBQ8Nut3P48GF27drlMWN4aGgoPXv2pFu3bhga8DQqAu8RQqcOkGUrW35IcK+rVDpUKj2SpHMve75f01blfnqkau7vlFVIUh4lJedxONTlfmnLpQ8t2fPXd6kb/trlsjwD10NQKT3WieKxXOa+v/pALDvW9UBRI0kqJEntWpfUpW0SSGokStvKtrv3V91guxrXw6dse1lb2bKm9L43vQeO02mlpCQTWbZhtxegUhUiK3YU2YGiOFAUO7LscP+/1Sauh/m19/zqetn/GagoLi7BYPArJzCkMjnCVUFQfh08BUf5dRAiQlBTsrKy2LVrF/v27aOkxDVYRKVS0aFDB3r27EnLli3F31UTRQidOuDaaqSuYaNVJCDWIX7+sGPnLT9tg0KSNGg0gWi1gWg1gWi0gWg1QWi0AR7vWm35bYFoNQHc6pJyiqLgcBRgs13GaruCzXoFq+0ytnLLVusVbLYrOBz5qFTNCAqcidUqoSg3trW6AqXKdbeArN59kWWZ4mIzGs2NE2kHDBhAQkIC8+fPr1bfAkF1sFqt5ObmsmzZMtLT093tgYGB9OjRg8TERDFj+G2AEDp1gEYTwID+R1AUW+m8MrbSkReVvZdbViq2K3L5Pkq3KzZkZ+n7dfp0Om2o1ZpyDzSJsoeV61fxNcuoXL+4y+3vsUyZR6XUE1PFsa7lsgeb4s7XoFwYRFFKvUHlcz081ss8SFdzPyqEXtzrV5evRVEc2O3Z2O3ZFbbdCJXKgMFPx+4976PVBpWKpfIiySWetNogNJqA0vdANBp/j3omiuLEZstxCRirS7h4CBnrZay2LGy2y9ct2X8triHGrqq3Go0eSaVBJWlK2zWoVBokSYO3AqUxUtm1ffHFF/zud7+75bYcOHCA5ORkdu7cSXh4OFOmTOHPf/7zdY/ZuXMnL7zwArt370aSJHr37s2cOXPo0qWLe5+1a9cyc+ZMDh8+jI+PD/369eOtt96iZcuWdXxFDRtZlsnPzycrK4usrCyys7Pdy2VTMpTRrl27JjEtg8A7hNCpAyRJQq3WA3o01M+vhYY6P0ld4h4Z4xZCDhyOAhwO1wzNdkceDru59D0fuyMfuz3fvex+d5gBBVkuQqUqorAwz0tLVKXCJwCnsxibLZvKRFhVaDRGdDoTOl0Yer0Jvc6ETh+OTheOXheOTm9CrwvH4dCTnp6OwdBclO8HPv74Y4YOHepev9kS/DabzesZps1mM0OGDGHQoEEsWrSIgwcPMmHCBIKCgnjiiScqPcZisTB06FBGjRrFwoULcTgczJw5k6SkJDIyMgBIS0tj9OjRPPvssyxbtoz8/HyeeeYZxo4dy549e27qOhsLJSUlFYRMdnY22dnZOK+TCKbVaunduze9evUS0zLcpgihI2gyXPVYXR2ardH4A1Fe9aMoThwOC8XFWWzZ8h29+3QCpRC7Pd9DJF37brfnI8vFgIzDkYfDkVeuVxU6XahLrOjD0elM6HVhpaLFJWT0OpeYUaurVxPH6ay7opR1SWFhIZMnT2b58uUYjUamTp1aK/0GBQXdVI2TAQMG0LlzZzQaDUuXLqVLly5s2rTJqz6WLVuGzWbjo48+QqfT0alTJ/bt28fbb79dpdA5evQoOTk5zJ49m9jYWABmzpxJ165dycjIwGQysXv3bpxOJ3/961/dnoipU6cyevRo7HZ7k/kxI8syeXl5lQqaa70z5VGr1YSGhhIaGkpYWBhhYWGEhoYSGBjIxo0bGTBgQJO5RwLvEUJHILgGSVKj1QYCBmQ5lpDgu6v9JSnLVuzlvEYqtQ96nQmtNuSWDClWFAWH7dbXXtHoqh8aS0lJYcuWLaxYsQKTycS0adPYs2cPCQkJ7n0mTZrE0qVLr9vPtQ++5ORkHnvsMVq1asWkSZP4wx/+4HW47tNPP2Xy5Mn89NNP7rZhw4axdevWKo9p0aIFhw8fBmDbtm3069fPwxOUlJTEm2++SW5urnvm9PLEx8cTGhpKamoq06ZNw+l0kpqaSocOHWjZsiVFRUX06NEDlUrFxx9/zPjx47FYLHz22WcMGjSoUT7Ai4uL3UKmvKDJycm5rnfG39/fLWLKC5qgoKBKQ1F2+/UqqgpuF25LobNgwQIWLFhw3Q+UQFATVCo9er3La1MfOGwyHzy15Zaf94l3+6PV37jIocViITU1laVLlzJw4EDAJS5iYmI89ps9e7ZXnp7Zs2dz3333YTAYWLduHX/84x+xWCw8+eSTXl1H27ZtmTNnjkfb4sWLKS4urvKY8kIjMzOTuLg4j+0RERHubZUJHaPRyObNmxkzZgyvvPKK2461a9ei0bi+ouPi4li3bh2//e1v+b//+z+cTid9+/Zl9erVXl3frcTpdJKXl1epoCksLKzyuDLvTHkhU/YuQrSCmnBbCp3k5GSSk5Mxm80EBgbWtzkCwW3DqVOnsNls9OnTx90WEhJCfHy8x34mkwmTyVTtfl9++WX3cmJiIoWFhcydO9drodOjR48KbdHR0V714S3FxcVMnDiRu+66iy+++AKn08m8efMYMWIE27dvB1wi6fHHH+fRRx/lwQcfpKCggBkzZvDAAw+wfv36eks0Lws15eTkkJ2d7fGel5d33crORqOxUkETGBgoEoUFtcptKXQEgqaKRqfiiXf718t5a5OahK7K06dPH1555RWsVqtXpfv9/PwqtHkTuoqMjPSYQgBwr1eVP/T555+Tnp7Otm3b3A/4zz//nODgYFasWMHw4cNZuHAhgYGBHt6mpUuXEhsby/bt27njjjuqfY3eIssyZrO5gpDJzs4mNzf3umJGo9FUmjsjvDOCW4nXQictLY2tW7eSkZFBUVER4eHhJCYm0rdvX/GHKxDUM5IkVSuEVF+0bt0arVbL9u3bad68OQC5ubkcP36c/v2vCjRvQ1fXsm/fPoKDg2tlfiJvQld9+/Zl+vTpHgnC69evJz4+vtKwFbhmyVapPHOcytbLRETZPuVRq13/z7UxH1bZEO3KPDM3yptRq9WEhIQQEhJCaGiox7vRaBTeGUG9U22hs2zZMt5991127dpFREQEzZo1w9fXl5ycHE6dOoWPjw8PP/wwzz//PC1atKhLmwUCQSPF39+fiRMnkpKSQmhoKCaTienTp1d4GHoTulq5ciWXLl3ijjvuwMfHh/Xr1/Paa6/V2mgub0JXDz30ELNmzWLixIk8//zzHDp0iHfffZd33nnHvc/XX3/Niy++yNGjRwEYPHgwKSkpJCcnM2XKFGRZ5o033kCj0XDvvfcCMHz4cObPn8/s2bPdoatp06bRokULEhMTq2WboijIsozD4cDhcOB0OikqKqKgoID333+f/Pz8Ko9VqVQEBwdXEDKhoaEEBIiZ1QUNm2oJncTERHQ6HePHj+err75yD4Esw2q1sm3bNv75z3/Ss2dPFi5cyG9+85s6MVggEDRu5s6di8ViYeTIkRiNRp577rnrPmRvhFarZcGCBTzzzDMoikKbNm14++23efzxx937pKenExcXx6ZNmxgwYEAtXEXlBAYGsm7dOpKTk+nRowdhYWHMmDHDY2h5fn4+x44dc6+3b9+elStXMmvWLPr27YtKpSIxMZE1a9YQFRWF2Wzmvvvu4/PPP2fOnDnMmTMHg8FA3759WbNmDb6+V8sRuObZc+J0Ot1iprywUa6ZDqSs3el0IkkSwcHBlXpmAgMD3R4kgaCxISnX/uVXwtq1a0lKSqpWh9nZ2aSnp1ea1NfQKEtGzs/PJyAgoFb7zs7OxmAw4OPjUy+JgrdjwcDapqHfw5KSEtLS0oiLi2uQYeOy3I6G8It/06ZNjB07ltOnT1cZQmqIXHsPy7wy5YXMtcs3Qq1Wo9FoUKvVOJ1Ozp8/T3h4OCaTqcmJmYb+GW4MNNR76M3zu1oeneqKHMCdaHY743A4+Pvf/w64XL4GgwGDwYCfnx9+fn7u5crafHx86v2hIBA0NVavXs20adMahcgpEzJlAsZms5Gbm+tuq8ZvUw8xU/5do9F4/PAqKSlBq9USHBzc5ESOQFBGtYSO2Wyudoe17RlpjJSUlKDT6bDZbMiyjMViue4IkfJIkuSVMPL19RXCSCC4AXPnzq1vE9xUFl4qv1xZcrHD4fBYV6lUbgFzrZi5NrFZILjdqZbQCQoKqvYHRxThcyVcTps2DbvdTlFREYWFhVW+l1+2Wq0oiuJuv3LlSrXOV5kw8vHx4fLly+zduxdfX1+0Wi06nQ6tVuuxXPYuxJKgKaAoiju8U/ZenWO86d/bfWsSXnLNl6d2h5cMBoOHsBGfV4Gg+lRL6JSf7yU9PZ0XXniB8ePH07dvX8BV9vzTTz/l9ddfrxsrGylarZbAwMBqFyV0OBwUFRVVKoIqey8b8lp2TFZWVoU+z58/X61zq9XqCuKnMkHk7XaVSuV+SZLksSwQXEuZUCkTKeUFS2VtlS03Fsp7YirzysDVHB2DwSDEjUBQQ6oldK6tb/H222/z4IMPuttGjRpFly5d+OCDD3j00Udr38rbBI1GQ0BAQLXDf2XDQysTQQUFBZw+fZqwsDCcTic2mw273e5+L1su31dxcfF164XUNtcTQdXZVp39qspVqM47uETklStX0Ov17hyH8vvURLCVhS7sdjsOh8P9/1H2qm4bQGxsLLm5uWg0Gg+RUPYC3DZKklTl8o221+Q4wP23V12RUhs1YcqoTFB78/9VW/teK2TKXkLsCwS3Bq8LBm7bto1FixZVaO/ZsyePPfZYrRglqB5qtRqj0YjRaKywrTqZ8oqiuJMdy4ufygRRTdquzSu4lrIHXEOn/FDga6ns13j5d1mWKxUqteF58Pf3JzIy8ob9lW2rL2+H1Wqt0XE3ErjX236t4BIIBLcvXgud2NhYPvzww0onvru2vo6gYSNJkjvEVBfcKORQ3XDEzWy7Xk2R6rwXFhai0Wjc69cKs7L+y3vHvKHs/0Cj0bj/L8q/btTu4+OD0Wh0lzG49lX+/6LsvarlG22vyXGyLLtzSrwRLEKoCASC2sJrofPOO+/w61//mu+++849Md+OHTs4ceIEX331Va0bKGi8lCVUNlYq84pVJZ6qElEqleq6wuVmQhhldXR8fX1FHR2BQCCoAq+FzvDhwzlx4gQLFy50lzAfOXIkkyZNEh4dQZOnzPPQkApnCQQCgaBqajR7eUxMDK+99lpt2yIQCG5TBgwYQEJCAvPnz69vUwQCQROjRv7kvLw81q1bx9KlS1myZInHSyAQCOqDTz75hK5du+Lj44PJZCI5Oble7Dhz5gwjRozAYDBgMplISUm5YWL+8ePHGT16NGFhYQQEBHD33Xd7lPUA2LlzJwMHDiQoKIjg4GCSkpLYv39/XV6KQNAk8Nqjs3LlSh5++GEsFgsBAQEe+QWSJDFu3LhaNVAgEAhuxNtvv81bb73F3Llz6dOnD4WFhaSnp99UnzabDZ1O59UxTqeTESNGEBkZyc8//8zFixcZN24cWq32ul7w+++/n7Zt27Jx40Z8fX2ZP38+999/PydOnMBgMGCxWBg6dCijRo1i4cKFOBwOZs6cSVJSEmfPnhWhVIHgOngtdJ577jkmTJjAa6+9hsFgqAubBAJBDVEUBUcNh3PfDBq9vtpJ1YWFhUyePJnly5djNBqZOnXqTZ07NzeXl156iZUrVzJw4EB3e9euXb3qZ/z48eTl5dGrVy8WLFiAXq8nLS3Nqz7WrVvHkSNH+P7774mIiCAhIYFXXnmF559/nr/85S+VCqesrCxOnDhBamqq2+Y33niDhQsXcujQIXr37s3Ro0fJyclh9uzZ7lzImTNn0rVrVzIyMmjTpo1XdgoEtxNeC53z58/z5JNPCpEjEDRAHFYrf3v0gVt+3ic//Q/aao78SklJYcuWLaxYsQKTycS0adPYs2cPCQkJ7n0mTZrE0qVLr9tP2fxx69evR5Zlzp8/T4cOHSgoKODOO+/krbfe8nqAxIYNGwgICGD9+vU1smXbtm106dKFiIgI97akpCQmT57M4cOHSUxMrHBsaGgo8fHxLFmyhO7du6PX63n//fcxmUz06NEDgPj4eEJDQ0lNTWXatGk4nU5SU1Pp0KEDLVu29OoaBYLbDa+FTlJSErt27aJVq1Z1YY9AIGjCWCwWUlNTWbp0qdv78umnnxITE+Ox3+zZs6vt6Tl9+jSyLPPaa6/x7rvvEhgYyEsvvcTgwYM5cOCAV+EnPz8/Fi9e7HGMN7ZkZmZ6iBzAvZ6ZmVnpMZIk8f333zNmzBiMRiMqlQqTycSaNWsIDg7GbDZjNBrZvHkzY8aM4ZVXXgGgbdu2rF27Fo2mRmNKBILbBq8/ISNGjCAlJYUjR47QpUuXCrHhUaNG1ZpxAoHAOzR6PU9++p96OW91OHXqFDabzV2DCyAkJIT4+HiP/UwmEyaTqVp9llWf/tvf/saQIUMA+OKLL4iMjGTTpk0kJSVV8yqgS5cuFYSRN7bUBEVRSE5OxmQysXXrVnx9fVm8eDEjR45k+/bt+Pn5UVxczMSJE7nrrrv44osvcDqdzJs3jxEjRrBz5058fX3rzD6BoLHjtdB5/PHHAdevnGuRJEnMXi4Q1COSJFU7hNSQ8SZcFBUVBUDHjh3d28LDwwkLC+PMmTNendfPz++mbImMjGTHjh0e2y5duuTeVhkbN25k1apV5Obmuue5W7hwIevXr2fJkiVMnjyZzz//nPT0dLZt2+Yuvvj5558THBzMihUr+N3vfufVdQoEtxNeC53GMDeRQCBomLRu3RqtVsv27dtp3rw54EomPn78eIXJg6sbLrrrrrsA15xkZSGwnJwcsrKyaNGixU3b7I0tffv25dVXX+Xy5ctuL9D69esJCAjwEGLlKSoqAqhQPVqlUrm/b4uLiytMUlq2Lr6TBYLrI4K7AoHgluHv78/EiRNJSUkhNDQUk8nE9OnTKzzkvQkXtWvXjtGjR/PUU0/xwQcfEBAQwIsvvkj79u259957b9pmb2wZMmQIHTt25JFHHmHOnDlkZmby0ksvkZycjL40vLdjxw7GjRvHhg0biI6Opm/fvgQHB/Poo48yY8YMfH19+fDDD0lLS2P48OEADBo0iD//+c8kJyczZcoUZFnmjTfeQKPR1Mo1CgRNmRoVDNyyZQsjR46kTZs2tGnThlGjRrF169batq3OWLBgAR07dqRXr171bYpAcNsxd+5c7rnnHkaOHMmgQYO4++673aOLasqSJUvo06cPI0aMoH///mi1WtasWeORQyhJEp988slNWn991Go1q1atQq1W07dvX37/+98zbtw4j1B/UVERx44dw263AxAWFsaaNWuwWCzcd9999OzZkx9//JEVK1bQrVs3ANq3b8/KlSs5cOAAffv25Z577uHChQusWbPGHboTCASVIyll0wxXk6VLl/KHP/yBsWPHul3GP/30E19//TWffPIJDz30UJ0YWheYzWYCAwPJz893x8abCpVNSCnwjoZ+D8sm9YyLixOTet6AtLQ02rVrx5EjR2jbtm292uINdX0PG/rf0M3S0D/DjYGGeg+9eX57Hbp69dVXmTNnDs8884y77cknn+Ttt9/mlVdeaVRCRyAQ3B6sXr2aJ554olGJHIFAUDt4LXROnz7NyJEjK7SPGjWKadOm1YpRAoFAUJvU17xXAoGg/vHaFxobG8uGDRsqtH///fdeVyEVCAQCgUAgqEtqNNfVk08+yb59+7jzzjsBV47OJ598wrvvvlvrBgoEAoFAIBDUFK+FzuTJk4mMjOStt97iX//6FwAdOnTgyy+/ZPTo0bVuoEAgEAgEAkFNqVEdnV/96lf86le/qm1bBAKBQCAQCGoVr3N0du7cyfbt2yu0b9++nV27dtWKUQKBQCAQCAS1gddCJzk5mbNnz1ZoP3/+vBjZIBAIBAKBoEHhtdA5cuQI3bt3r9CemJjIkSNHasUogUAgEAgEgtrAa6Gj1+vds/GW5+LFi2g0YuosgUDgPQMGDODpp5+ubzMEAkETxGuhM2TIEF588UXy8/PdbXl5eUybNo3BgwfXqnECgUBwIz755BMkSar0dfny5Vtuz4EDB7jnnnvw8fEhNjaWOXPm3PCYnTt3MnDgQIKCgggODiYpKYn9+/d77KMoCvPmzaNdu3bo9Xqio6N59dVX6+oyBIImg9cumHnz5tGvXz9atGhBYmIiAPv27SMiIoLPPvus1g0UCASC6/H//t//Y+jQoR5t48ePp6SkpNqzjleGzWZDp9N5dYzZbGbIkCEMGjSIRYsWcfDgQSZMmEBQUBBPPPFEpcdYLBaGDh3KqFGjWLhwIQ6Hg5kzZ5KUlERGRoZ7v6eeeop169Yxb948unTpQk5ODjk5OTW+PoHgdsFroRMdHc2BAwdYtmwZ+/fvx9fXlz/84Q88+OCDDWrCL4HgdkRRFBS7fMvPK2lVSJJUrX0LCwuZPHkyy5cvx2g0MnXq1Js6t6+vL76+vu71K1eusHHjRlJTU73qZ8CAAXTu3BmNRsPSpUvp0qULmzZt8qqPZcuWYbPZ+Oijj9DpdHTq1Il9+/bx9ttvVyl0jh49Sk5ODrNnz3ZXl585cyZdu3YlIyMDk8nEL7/8wnvvvcehQ4eIj48HIC4uzivbBILblRol1fj5+VX5oRUIBPWHYpe5MOPnW37eZrPvRNKpq7VvSkoKW7ZsYcWKFZhMJqZNm8aePXtISEhw7zNp0iSWLl163X4sFkul7UuWLMFgMPDAAw9U2/4yPv30UyZPnsxPP/3kbhs2bBhbt26t8pgWLVpw+PBhALZt20a/fv08PEFJSUm8+eab5ObmEhwcXOH4+Ph4QkNDSU1NZdq0aTidTlJTU+nQoQMtW7akqKiIVatW0apVK1atWsXQoUNRFIVBgwYxZ84cQkJCvL5OgeBW4cgpQS52oIv2rzcbaiR0PvvsM95//31Onz7Ntm3baNGiBe+88w6tWrUS1ZEFAkGVWCwWUlNTWbp0KQMHDgRc4iImJsZjv9mzZ9fY05OamspDDz3k4eWpLm3btq2QU7N48WKKi4urPKa8JzszM7OCpyUiIsK9rTKhYzQa2bx5M2PGjOGVV15x27F27Vr3AI/Tp0+TkZHBv//9b5YsWYLT6eSZZ57hgQceYOPGjV5fp0BQ1yiyguWnC5jXpaMO1BPxVHckrddpwbWC10LnvffeY8aMGTz99NP89a9/xel0AhAcHMz8+fOF0BEI6hFJq6LZ7Dvr5bzV4dSpU9hsNvr06eNuCwkJcYdjyjCZTDXKr9m2bRu//PJLjfMFe/ToUaEtOjq6Rn1Vl+LiYiZOnMhdd93FF198gdPpZN68eYwYMcJdnFWWZaxWK0uWLKFdu3aAS9D16NGDY8eOVbh/AkF9YrtgIXf5CeznXF5Xlb8WudiBWutdzltt4bXQ+fvf/86HH37ImDFjeOONN9ztPXv2vOlYu0AguDkkSap2CKkhU9PQ1eLFi0lISKhUsFQHPz+/Cm3ehK4iIyMrlN8oW4+MjKz0+M8//5z09HS2bduGSqVytwUHB7NixQqGDx9OVFQUGo3GLXLANccgwJkzZ4TQETQIFLsT84azFPxwDmQFyUdN4LA4/HpFIqmql8NXF3gtdNLS0tyjrcqj1+spLCysFaMEAkHTpHXr1mi1WrZv307z5s0ByM3N5fjx4/Tv39+9X01CVxaLhX/961+8/vrrtWqzN6Grvn37Mn36dOx2u7t9/fr1xMfHVxq2AigqKkKl8kzmLluXZVdi+Z133onD4eDUqVO0bt0agOPHjwMuoSUQ1Dclp/LIW34CR3YJAL6dQgka3Rp1gL6eLauB0ImLi2Pfvn0VPlxr1qxx/8IQCASCyvD392fixImkpKQQGhqKyWRi+vTpbk9GGTUJXX355Zc4HA5+//vf16bJXoWuHnroIWbNmsXEiRN5/vnnOXToEO+++y7vvPOOe5+vv/6aF198kaNHjwIwePBgUlJSSE5OZsqUKciyzBtvvIFGo+Hee+8FYNCgQXTv3p0JEyYwf/58ZFkmOTmZwYMHe3h5BIJbjVxkJ291GkW7XJ5LlVFH8OjW+HYOq2fLruK10Hn22WdJTk6mpKQERVHYsWMHX3zxBa+//jqLFy+uCxsFAkETYu7cuVgsFkaOHInRaOS5557zKEBaU1JTUxk7dixBQUEVtqWnpxMXF8emTZsYMGDATZ+rKgIDA1m3bh3Jycn06NGDsLAwZsyY4TFKNT8/n2PHjrnX27dvz8qVK5k1axZ9+/ZFpVKRmJjImjVriIqKwmw2o1KpWLlyJVOmTKFfv374+fkxbNgw3nrrrTq7FoHgeiiKQvHBLPK+OYVssQPg1yeSwGFxqHwa1iwJXlvz2GOP4evry0svvURRUREPPfQQzZo149133+V3v/tdXdgoEAiaEP7+/nz22WceCcMpKSk33e/PP1c9rD4tLY2goCC6detW5T6bN2++aRsAunbtet2cnvHjxzN+/HiPtsGDB1daWb4sdAXQrFkzvvrqq1qxUSC4GRz5VvL+e5KSX1wFKzXhvgSPbYs+LrCeLaucGsmuhx9+mIcffpiioiIsFstNVR8VCASCumb16tVMmzatyjwZgUBwYxRZoXD7RfLXpKNYnaCWMA6IJeDeWCRN/Qwdrw5eC53i4mIURcFgMGAwGLhy5Qrz58+nY8eODBkypC5sFAgEgpti7ty59W2CQNCocVwuIvebdGwZZgB0zY0E/7ot2oiKIxUbGl4LndGjRzN27FgmTZpEXl4evXv3RqfTkZWVxdtvv83kyZPrwk6BQCAQCAS3GMUhE3XWl+wdB8GpIOnUBA5tid8dUfU6ZNwbvPY17dmzh3vuuQeA//znP0RGRpKRkcGSJUv429/+VusGCgQCgUAguPVY0/PJXniQZud8wang0yGEiGd74H9ns0YjcqAGHp2ioiKMRiMA69atY+zYsahUKu644w6PmXYFAoFAIBA0PuQSB/lr0in830UA7FqZsLHx+CdEVHvy3oaE1x6dNm3a8N///pezZ8+ydu1ad17O5cuXCQgIqHUDBQKBQCAQ3BqKD2eT+fZut8jx6RHO4YR8fDqHNkqRAzUQOjNmzGDq1Km0bNmSPn360LdvX8Dl3amsYrJAIBAIBIKGjdNsI3vpEbI/O4JstqEJ9SHs8S4EjmmNU6PUt3k3hdehqwceeIC7776bixcvetSkGDhwIL/61a9q1TiBQCAQCAR1hyIrFO7KJH91GkqJE1Rg7BdLwMBYJK0au91e3ybeNDWqoxMZGVlhgrrevXvXikECgUAgEAjqHvuVInKXn8CW5hoyro3xJ3hsW3TN/OvZstqlWqGrSZMmce7cuWp1+OWXX7Js2bKbMkogENxeDBgwgKeffrq+zRAIbgsUh4x54xkuvbsHW5oZSasicEQrTH9MaHIiB6opdMLDw+nUqRPDhw/nvffeY+fOnZw/f57s7GxOnjzJN998w5///GeaN2/OO++8Q5cuXeraboFAIHCzc+dOBg4cSFBQEMHBwSQlJbF///56seXMmTOMGDECg8GAyWQiJSUFh8NR5f6bN29GkqRKXzt37nTvpygK8+bNo127duj1eqKjo3n11VdvxSUJmhDWM2Yu/2Mv5nUZ4FDQtwsm4pkeGO+JblRDxr2hWqGrV155hT/96U8sXryYhQsXcuTIEY/tRqORQYMG8cEHHzB06NA6MVQgEAgqw2KxMHToUEaNGsXChQtxOBzMnDmTpKQkzp49i1arrVG/NpsNnU7n1TFOp5MRI0YQGRnJzz//zMWLFxk3bhxarZbXXnut0mPuvPNOLl686NH28ssvs2HDBnr27ElBQQEATz31FOvWrWPevHl06dKFnJwccnJyanRtgtsP2erEvC4dy88XQAGVn4ag+1vjmxDeaEdTVZdq5+hEREQwffp0pk+fTm5uLmfOnKG4uJiwsDBat27d5G+UQNAYUBSlXpIHtVpttb8DCgsLmTx5MsuXL8doNDJ16tSbOvfRo0fJyclh9uzZxMbGAjBz5ky6du1KRkYGbdq0qVY/48ePJy8vj169erFgwQL0ej1paWle2bJu3TqOHDnC999/T0REBAkJCbzyyis8//zz/OUvf6lUOOl0Oo+cR7vdzooVK5gyZYr7nv7yyy+89957HDp0iPj4eADi4uK8sk1w+1J8NIe8/57EmWcFwJBoIvD+Vqj9avYjoLFRo2Tk4ODgRj053oIFC1iwYAFOp7NO+lcUhezPfkHtr0UdqEcdpEcdqHMtB+pR6dR1cl6BwG63V+k5qEumTZtWbe9HSkoKW7ZsYcWKFZhMJqZNm8aePXtISEhw7zNp0iSWLl163X4sFgsA8fHxhIaGkpqayrRp03A6naSmptKhQwdatmzp1XVs2LCBgIAA1q9fXyNbtm3bRpcuXYiIiHBvS0pKYvLkyRw+fLhaJTi++eYbsrOz+cMf/uBuW7VqFa1atWLVqlUMHToURVEYNGgQc+bMISQkxKtrFDR9FKeM/XIx9gsWSo7mUHwwCwB1iA/BY9rg067xPr9rQo2ETmMnOTmZ5ORkzGYzgYG1P628Uuyg5Eh2ldtVBo1b9FwrgjRBetQBeiRtw50JViCoKRaLhdTUVJYuXcrAgQMB+PTTT4mJifHYb/bs2dX29BiNRjZv3syYMWN45ZVXAGjbti1r165Fo/HuK87Pz4/Fixd7iDZvbMnMzPQQOYB7PTMzs1p9pKamkpSURExMDLIsA3D69GkyMjL497//zZIlS3A6nTzzzDM88MADbNy4sVr9Cpomss2J/WIh9gsW7BcKsV2wYL9UCI5ytW8k8L87moDBLW7LH9q3pdCpc9Qqgse2xZFvxVn2ynO9KzYZuciBXOTAfrGwyi5UflqXCArQlYqhqyKorF3SCDEk8ESr1TJt2rR6OW91OHXqFDabjT59+rjbQkJC3OGYMkwmEyaTqVp9FhcXM3HiRO666y6++OILnE4n8+bNY8SIEezcuRNfX99qX0eXLl0qeKa8seVmOXfuHGvXruVf//qXR7ssy1itVpYsWUK7du0AlyDq0aMHx44dq3D/BE0TZ6HdU9BcsODIKoZK6vlJejXaZn7omvlj6B6BLrrpjaaqLkLo1AEqvRq/3pEV2hVFQSlx4sy34si7RgSZbVfFkF1GLrQjF9qxn6/iJBKoykJjgXo013iHFD91pX/8gqaNJEleJ9A2RLwJF33++eekp6ezbds2VCqVuy04OJgVK1bwu9/9rtrn9fPzuylbIiMj2bFjh8e2S5cuubfdiI8//pjQ0FBGjRrl0R4VFYVGo3GLHIAOHToArlFeQug0LRRFwZlvxX7+qqCxXyjEmW+tdH+VUYuumT/aZv5ucaMO9mmyo6i8RQidW4gkSUi+GlS+GrSRFb9QwfUHLhc5roqgfCvO/KsiqMxLhENBLrAjF9ixn7NU2leiFEzOxcPoWwaibxGArrkRtX/jfwhWB0VWcBbYUBs0SNrbz1XbUGndujVarZbt27fTvHlzAHJzczl+/Dj9+/d37+dNuKioqAiVSuWRDF22Xhb6uRm8saVv3768+uqrXL582e0FWr9+PQEBAXTs2PG6xyqKwscff+wepVWeO++8E4fDwalTp2jdujUAx48fB6BFixbeXpKgAaHICo4sVz6NrVTQ2C9YkIsqL0mgDvUpFTV+aJv5u0SN8fb4Xq8pNRI6DoeDzZs3c+rUKR566CGMRiMXLlwgICAAf//b1z1WG0iShNpP68qGr6Jwk6IoyIV2lwAq5xVylBdG+VZUTrBnFGDPKKBMCmnCfNG1CHAJn5YBaMJ8G73qVxQFZ3YJtvMWbOcLsJ+zYDtvQbE6QcLl8Qr3RRtuQBPuiybMF024wRX+a+TX3tjw9/dn4sSJpKSkEBoaislkYvr06W5PTBnehIsGDx5MSkoKycnJTJkyBVmWeeONN9BoNNx77703bbM3tgwZMoSOHTvyyCOPMGfOHDIzM3nppZdITk5Gr9cDsGPHDsaNG8eGDRuIjo52H7tx40bS0tJ47LHHKvQ7aNAgunfvzoQJE5g/fz6yLJOcnMzgwYM9vDyCho1il7FfKvQQNPaLhSj2SgS5SkJrMngIGm0zP1Q+wj/hLV7fsYyMDIYOHcqZM2ewWq0MHjwYo9HIm2++idVqZdGiRXVhp6AckiSh9te5vDNVxF1tVhsbv17LnXHdcZ4rwpphxnG5CEdWMY6sYop2u9zpKoMGXfOAUvFjRBtjbNDJaoqi4MwpEzUW7OcKsJ0vRCmp5NePBCi4vGF5Vqwn8jw3a1WlosclftxCKNwXlV58mdQVc+fOxWKxMHLkSIxGI8899xz5+fk17q99+/asXLmSWbNm0bdvX1QqFYmJiaxZs4aoqCj3fpIk8fHHHzN+/PhauIrKUavVrFq1ismTJ9O3b1/8/Px49NFHmT17tnufoqIijh07VqEMQGpqKnfeeSft27ev0K9KpWLlypVMmTKFfv364efnx7Bhw3jrrbfq7FoEN48jt4Tiw9mloScL9svFIFfMKZC0KrRRnoJGG+kn8jBrCUlRFK8yOcaMGYPRaCQ1NZXQ0FD2799Pq1at2Lx5M48//jgnTpyoK1trnbJRV/n5+QQEBNS3ObWK3W5n9erVDB8+3O0Gl4vsWM8UYMswY003Yz9XUPGXhEpC28zP5fFpEYC+ZQDqAH09XEGpqMm1urw05y3Yyjw1xZWIGo2ENsofXbTrpY0xojX5Ihc7XOLuSjH2K8U4rpSKveySSr9wylAZdajDfLhQdJm47vHoI/zRhvm64t7qhuEFKikpIS0tjbi4OHx8fOrbnArIsozZbCYgIKCCx+ZWk5aWRrt27Thy5Aht27atV1u8oa7vYUP/G7pZKvserGsUh0zxL9kU7ryE9URuhVxJlUFTmkvjj67UW9OQPev1cQ+rgzfPb69/tm7dupWff/65QsJjy5YtOX++qsxZQUNAZdDi2z4E3/auuhuKU8Z+oRBrhtklfjLMyGYb9nMWV97PTxcAUAfrr4a7WgS4fmnU8odSURScedZygsYlbiqNU6sltFF+paLGiDbGH22EAUld8UFQ5vnSt/QsI6A4ZRw5JTiuFJcTQi4RJFvsyAU25AIb4fhg+S7DHfpDLaEJ9UETZkBb6v3RhBvQhPneNsW3GiOrV6/miSeeaFQiR9C4sF8uonBnJkV7LiEXXv3e0rcKRN8q0C1u1IE6UWD3FuO10JFludJCe+fOncNoNNaKUYJbg6RWoYs1oos1wt3RbrFR5vGxZZixZxbizLVSnHuF4n1XXMfp1eiaG9E1d3l8dLFGr+LGrhEFNuznC9xeGvv5Ao8vBzdqCW2kX6mXplTYRBhu2qUrqVVoww1oww0VtpV5gUoyCzj2v0O0DIpGzi7BnlUCDhnH5WIcl4spueY4lUHjzv/RhPu6PEChvmiC9Kh8RSisPklOTq5vEwRNENnmpPhAFoU7M7FlmN3tKqMOv54R+PWMQBNa/fIGgrrB62/fIUOGMH/+fD744APAFfe2WCzMnDmT4cOH17qBgluHJElogn3QBPtgSHAlX8olDmxnC9weH9uZAhSrE+uJPKwn8igAkHCJkXJeH3WwHkmSXInTZpsrp+ZcaQjqvAXZUsk0BSoJbaTB7aXRRfvXS5xa5atBF2tEivThwoViEoa3Q6vVukZy5VldIySuFHl4g5z5VuQiB7YzBdjOFFToU9KrUQfp0QT7uMoABOnRBOtRB/m4hJBRJEYLBI0BRVGwn7e4vDf7rrgGPQCowCc+BL9ekfjEhzSYELegBkLnrbfeIikpiY4dO1JSUsJDDz3EiRMnCAsL44svvqgLGwX1iMpHg0/bYHzaukqGK7KCPbMQ2xkztnSX+HHmWl2VOS8WUvg/1+SEKqMOrckX++Ui5ILKRA1oI/zQRvujK/PURPo16IrQkkpCE+KDJsSnQgl12eZ0ix7HlSLsZQIotwS5yIFideK4VITjUlHlnaulq0Uh3UKonCgK0oth8gJBPSIX2Snad4XCnZkexV7VoT749YzEr4ep3vIZBdfHa6ETExPD/v37+ec//8mBAwewWCxMnDiRhx9+2KsKpILGiaSS0JWODOCOZgA4zdbSPJ8CrBlmV25NgQ1rgc11kArXMMloI7oYf5e4ifJrUg9ulU599b5cg2xzukZ+5Za4CkWWvhy5JaXFIq3gdI0mc+ZcGxArdw5/rVv0qIN8cAarUYxOZJsTRSuDShKxf4GgFlFkBWtaPkU7Myk6lHV1WgWNhKFzGIZekejjAoU3toFTo8QBjUbD73//+9q2RdBIUQfoMXQJx9AlHCide+WcBUd2MRqTAW2UX4Mesl7XqHRqVCYDWlPFfCAAxangLCgVQLmlVbPzSkrFkGtZscmuJGnL1QKRDqOE814/HDkl2M0ySJLLXa5RIanLLWtVSBqVEEECQTVxmm0U7r5E4a5MnNlXf3xoI/3w6x2JISEclUEMPmgs1EjoXLhwgR9//JHLly9XqDz65JNP1ophgsaLSqd2jzQQ3BhJLaEJ8kET5AMtK25XFAWl2FEqeqw4SkVQcVExFo0DVO4dURwKOOSKs39IkkvwlL10apf4Eb9EBQLA9YOj5FgOhTszKTmWA6WPNkmvxpAQjl+vSLTR/uIHQyPEa6HzySef8H//93/odDpCQ0M9/tMlSRJCRyCoZSRJQjJo0Rm0HgUifUpKyEtLQ2fyQ6vTozgVcMooTgXFKYNDQXHIrlpJioJic6LYPEdMSppywqdMBFUyTF8gaKo4sosp3HWJwl2XkMvC7YCuRQB+vSLx7Rp2W3ukmwJeC52XX36ZGTNm8OKLL9Z7ETCBQOBCUkku70wlydyKclXwKHbZJXjsMsil7Q4ZyhdhVEtIWrWnB0iEvgRNCMUuU3zYNSzceupqVW6VnwZD9wiX96aKULOg8eG10CkqKuJ3v/udEDkCQSNBklzChXLJ34qiuISOXUaxySh2l/hRHDI4FRSnA6XEo5M6DX0NGDCAhIQE5s+fXyv9CeoPxSljv1joKktxpgBnoR2VjxqVjwbJR1Nu2fWu8lGXtpcu6zV1NjTbnllI4Y5MCvdevlphXQJ922D8ekXg2yFUTLvQBPFa6EycOJF///vfvPDCC3Vhj0AguAVIkuTy3KhVUK7yv1ImfsqEj71xhL42bNjAyy+/zMGDB93zS7366qtoNLe+UOOZM2eYPHkymzZtwt/fn0cffZTXX3+9Sls2b95c5eSj//vf/4iPjwdc4vStt97igw8+ICMjg7CwMP74xz8yffr0OruW6uA0W7GdKXBNL3PGNeqy0kkqvUDSqcsJIPU1AqkaYslH4xbhKicU7bpEyZ4s7Gev1rhSB+oxlBX1C256018IruL1t8Drr7/O/fffz5o1a+jSpUuFuS/efvvtWjNOIBDcWiSVhKRXg97T+1Oz0JeE2i6h2JzIasX14KmDIfD79+9n+PDhTJ8+nSVLlnD+/HkmTZqE0+lk3rx5Ne7XZrNVmOrmWtyeMacCTgWHzc7wYcOJDI9gy6oNZGZmMuHJJ1A7JV6d/derYcByYvDOO+/k4sWLHv2+/PLLbNiwgZ49e1JQ4Ho4P/XUU6xbt4558+bRpUsXcnJyyMnJqfH11QTFLmO7YHEVxjzrKiDqzLNW2E/y0aBrbkTf3Ig6SI9c4kQpcSCXOJFLHNcsu97lEic4XAJJsTlx2pxgtlXou7pIOjWSj5qulmAK5DRXo1rCt2Mofr0i0bcJEsn4twk1Ejpr1651/8q4NhlZIBDUH4qiIMvFtd+xCtCDpC+dFF6RQMYd+pKcOnfyc/nQlx4VTmu5GJgEhSXFTHnxaf777TcYjUae/dPTrgRqu4xsdYDKNTweqXrfKV9++SVdu3ZlxowZALRp04Y5c+bw29/+lpkzZ1Z7aprx48eTl5dHr169WLBgAXq9ntMnTl1N7nYq1yR8KyDLHpM2rtm0jl+O/sJ3S1cQEW6iW7vOzHxuOtNfn8lLf3r+qnBSSW5vmFqjwhQU5gqZqCUcDgcrVqxgypQp7uv/5ZdfeO+99zh06JD7uzcuLq5a11VT3JPqlgoa25kCbBcs4LxmTF9ZZfTmRnSxAeiaG2s8SaXikCuIn6oF0o3FkmJzokZCHeaDf+8oDN1NqP2vL14FTY8aVUb+6KOPGD9+fB2YIxAIbgZZLmbzli63/LwD+h9ErfbzDH3ZZOxWG2pJ7ZopXlZAgRdmTWPrzz/yn9QvMIWG8/KcWezdt5eu8Z1wXHGJtOQXn+aL5V96nuSa56Y5Ox9JLVFSUlJh5m1fX19KSkrYvXs3AwYMqGCvIl8rXhRkm5MN32/AX2tg9bIVUFoFvFJbriHnZCaSSsX2/bvo3LEzzVrHloYGJYaOGs6Uac9wJP04CR27uh7EcuWhQCSJr9d+Q3Z2NuMeeBilxIkkw6pVq2jVqhWrVq1i6NChKIrCoEGDmDNnDiEhIdX6P7oRrvpXZSEol8emsqrmKj+te647XXNXEVCVvnZChJJG5RIiFetuVpvyYslmKeHHn39iwAN9buidEzRdvP7r1Ov13HXXXXVhi0AgaOSUD33JsozVXEJAgD8qlQpFUbDkF/DJl5+x5KNPGTwyCZwKH3+QSstObVzHalQoToWZz03nmSemXPdcjiuu6TQG9ujHu+++y2fvfcxvxjzApexLzJrxFwDOp53FkWgtFTTy1TCTXKHSENhl/AwGFr3596sPRQlm/vklnv3T0y4PhVqFpMKd3+Rqk9BFuZ7MV8zZRDaLRB1w9aHaLC4GgGxrHrrIUjFYGvJT7LKr7lFZIrii8PHSTxjcfyBRxnCcOSX4oubkoeNkZGTwry++5OOFi3FKClNfSOGBBx5g48aNXv8/lYUjnUV25CI7WZ8dhrQid+0YNyoJbTM/9GWipvnVeewaKuXFkhKoodjP2aDtFdQ9Xgudp556ir///e/87W9/qwt7BALBTaBS+TKg/8F6Oe+NkCSJ0xlp2Gw2+t5zJ2o/lxgwBTQjPj4elUGLNtIPgOgoP6Llq+EhxamgyMpVD0y5bYP7D+T16X/lT88/zR+mPI5ep2faU3/mx20/QbHTozbKNQa5QmRlSdlaFZ07d8YQFej2xqCSiImuXuirukgqCUmnhmtqsyiKwtn0M6zfsoF/frIMlUHjCufZZZdotFpJfXsR7Vq1BWDR63/jjuH9OPjjXtq3b381/6csQbxc6Egp50GSba48K2QFp8OGbHXiuFyMRgZ1oM7lqYk1omsRgK5Z05qqRXB74rXQ2bFjBxs3bmTVqlV06tSpQjLy8uXLa804gUDgHZIkoVY3/vofk/84maVLl153H4vF4koGVmDqy3/muWlTuXD+AsEBQaSlpfPSG3+hVdvWqPy0pYJG5SFsrs0hUenU+AcYUfl6fi1OmjSpWrYAREZGsmPHDo9tly5dcm+7HpIk8enSJYSGhjLmd79Go9UiyzKF+Wai42LQaDR0SOzs9gS1b9cegLNnzhDfso1nOQBwXadG5S4jUMkJkbQqVD4aAke2xtgiBE2gmJRS0PTwWugEBQUxduzYurBFIBA0cVq3bo1Wq2X79u00b94cgNzcXI4fP07//v3d+82ePZupU6fesD9JKk1aVrnqBMW2bgHAv//+FbGxsfS+707U6pvzSFTXFoC+ffvy6quvcvnyZUwmEwDr168nICCAjh07XvdYRVH4+OOPGTdunOcPSAnuvPsuHK86SL98ltatWwOQduE4AK26tkUdpL86Mq40Idzl/SqXA6RRodKVlgIoLQcgW62ozBp844LR+AiRI2iaeC10Pv7447qwQyAQ3Ab4+/szceJEUlJSCA0NxWQyMX369AoFSE0mk1soVIe5c+cydOhQVCoVy5cv54033uBf//rXTYscb20ZMmQIHTt25JFHHmHOnDlkZmby0ksvkZycjF7vEhI7duxg3LhxbNiwgejoaPexGzduJC0tjccee6xCv4MGDaJ79+5MmDCB+fPnI8syycnJDB48mPadKwood1K4Qy4NlYmpPQS3L+IvXyAQ3FLmzp3LPffcw8iRIxk0aBB33303PXr0uKk+v/vuO+655x569uzJt99+y4oVKxgzZozHPpIk8cknn9zUeW6EWq1m1apVqNVq+vbty+9//3vGjRvH7Nmz3fsUFRVx7Ngx7HbPEU2pqanceeedtG/fvkK/KpWKlStXEhYWRr9+/RgxYgQdOnTgn//8Z6V2SCoJlV6N2k+LylcjRI7gtqZaHp3u3buzYcMGgoODSUxMvG4G+549e2rNuMbMheNHCYttjs638edLCAS1ib+/P5999hmfffaZuy0lJeWm+rzRyKO0tDQ0Gs11R4zWlghq0aIFq1evrnL7gAEDXLlF1/D5559ft99mzZrx1Vdf3bR9AsHtRrWEzujRo91u19GjR4uhejfA6bDzn7++hNNhp1l8B1p260HLbt0xtYhDEnOECQS3nNWrV/PEE0/Qtm3b+jZFIBDcYqoldGbOnOle/stf/lJXtjQZzFlX8AsOJi/zIueOHOLckUP8+MWnGAKDaNmtOy0TetCiSwKGgMD6NlUguC1ITk6ubxMEAkE94XUycqtWrdi5cyehoaEe7Xl5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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "base = 1.01\n",
    "index_len = 664\n",
    "index_offset = 200\n",
    "d_range = 10\n",
    "d_offset = 1\n",
    "r_time = 8\n",
    "f_time = 25\n",
    "max_time = 200000\n",
    "\n",
    "type_block = dict()\n",
    "type_count = dict()\n",
    "type_time = dict()\n",
    "last_t = type_sequence[0]\n",
    "type_block[last_t] = 1\n",
    "type_count[last_t] = 1\n",
    "type_time[last_t] = time_sequence[0]\n",
    "for i,t in enumerate(type_sequence[1:]):\n",
    "    type_count[t] = type_count.setdefault(t, 0) + 1\n",
    "    type_time[t] = type_time.setdefault(t, 0) + time_sequence[i]\n",
    "    if t != last_t:\n",
    "        type_block[t] = type_block.setdefault(t, 0) + 1\n",
    "    last_t = t\n",
    "\n",
    "r_time = round(type_time[1]/type_count[1]/1000, 1)\n",
    "\n",
    "if 2 in type_count and 2 in type_block:\n",
    "    f_time = round(type_time[2]/type_block[2]/1000 + r_time, 1)\n",
    "\n",
    "print(f\"average time for failed cards: {f_time}s\")\n",
    "print(f\"average time for recalled cards: {r_time}s\")\n",
    "\n",
    "def stability2index(stability):\n",
    "    return int(round(np.log(stability) / np.log(base)) + index_offset)\n",
    "\n",
    "def init_stability(d):\n",
    "    return max(((d - avg_w[2]) / -avg_w[3] + 2) * avg_w[1] + avg_w[0], np.power(base, -index_offset))\n",
    "\n",
    "\n",
    "def post_lapse_stability_bonus(s):\n",
    "    offset = np.power(1/avg_w[11],1/(avg_w[11]-1))\n",
    "    return np.power(s+offset, avg_w[11]) - np.power(offset, avg_w[11])\n",
    "\n",
    "def cal_next_recall_stability(s, r, d, response):\n",
    "    if response == 1:\n",
    "        return s * (1 + np.exp(avg_w[6]) * (11 - d) * np.power(s, -avg_w[7]) * (np.exp((1 - r) * avg_w[8]) - 1))\n",
    "    else:\n",
    "        return avg_w[9] * np.power(d, -avg_w[10]) * post_lapse_stability_bonus(s) * np.exp((1 - r) * avg_w[12])\n",
    "\n",
    "\n",
    "stability_list = np.array([np.power(base, i - index_offset) for i in range(index_len)])\n",
    "print(f\"terminal stability: {stability_list.max(): .2f}\")\n",
    "df = pd.DataFrame(columns=[\"retention\", \"difficulty\", \"time\"])\n",
    "\n",
    "for percentage in notebook.tqdm(range(96, 66, -2)):\n",
    "    recall = percentage / 100\n",
    "    time_list = np.zeros((d_range, index_len))\n",
    "    time_list[:,:-1] = max_time\n",
    "    for d in range(d_range, 0, -1):\n",
    "        s0 = init_stability(d)\n",
    "        s0_index = stability2index(s0)\n",
    "        diff = max_time\n",
    "        while diff > 0.1:\n",
    "            s0_time = time_list[d - 1][s0_index]\n",
    "            for s_index in range(index_len - 2, -1, -1):\n",
    "                stability = stability_list[s_index]\n",
    "                interval = max(1, round(stability * np.log(recall) / np.log(0.9)))\n",
    "                p_recall = np.power(0.9, interval / stability)\n",
    "                recall_s = cal_next_recall_stability(stability, p_recall, d, 1)\n",
    "                forget_d = min(d + d_offset, 10)\n",
    "                forget_s = cal_next_recall_stability(stability, p_recall, forget_d, 0)\n",
    "                recall_s_index = min(stability2index(recall_s), index_len - 1)\n",
    "                forget_s_index = min(max(stability2index(forget_s), 0), index_len - 1)\n",
    "                recall_time = time_list[d - 1][recall_s_index] + r_time\n",
    "                forget_time = time_list[forget_d - 1][forget_s_index] + f_time\n",
    "                exp_time = p_recall * recall_time + (1.0 - p_recall) * forget_time\n",
    "                if exp_time < time_list[d - 1][s_index]:\n",
    "                    time_list[d - 1][s_index] = exp_time\n",
    "            diff = s0_time - time_list[d - 1][s0_index]\n",
    "        df.loc[0 if pd.isnull(df.index.max()) else df.index.max() + 1] = [recall, d, s0_time]\n",
    "\n",
    "df.sort_values(by=[\"difficulty\", \"retention\"], inplace=True)\n",
    "df.to_csv(\"./expected_time.csv\", index=False)\n",
    "print(\"expected_time.csv saved.\")\n",
    "\n",
    "optimal_retention_list = np.zeros(10)\n",
    "for d in range(1, d_range+1):\n",
    "    retention = df[df[\"difficulty\"] == d][\"retention\"]\n",
    "    time = df[df[\"difficulty\"] == d][\"time\"]\n",
    "    optimal_retention = retention.iat[time.argmin()]\n",
    "    optimal_retention_list[d-1] = optimal_retention\n",
    "    plt.plot(retention, time, label=f\"d={d}, r={optimal_retention}\")\n",
    "print(f\"\\n-----suggested retention (experimental): {np.inner(difficulty_distribution_padding, optimal_retention_list):.2f}-----\")\n",
    "plt.ylabel(\"expected time (second)\")\n",
    "plt.xlabel(\"retention\")\n",
    "plt.legend()\n",
    "plt.grid()\n",
    "plt.semilogy()\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4 Evaluate the model"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.1 Loss\n",
    "\n",
    "Evaluate the model with the log loss. It will compare the log loss between initial model and trained model.\n",
    "\n",
    "And it will predict the stability, difficulty and retrievability for each revlog in [./evaluation.tsv](./evaluation.tsv)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loss before training: 0.3378\n",
      "Loss after training: 0.3163\n"
     ]
    }
   ],
   "source": [
    "my_collection = Collection(init_w)\n",
    "stabilities, difficulties = my_collection.batch_predict(dataset)\n",
    "dataset['stability'] = stabilities\n",
    "dataset['difficulty'] = difficulties\n",
    "dataset['p'] = np.exp(np.log(0.9) * dataset['delta_t'] / dataset['stability'])\n",
    "dataset['log_loss'] = dataset.apply(lambda row: - np.log(row['p']) if row['y'] == 1 else - np.log(1 - row['p']), axis=1)\n",
    "print(f\"Loss before training: {dataset['log_loss'].mean():.4f}\")\n",
    "\n",
    "my_collection = Collection(avg_w)\n",
    "stabilities, difficulties = my_collection.batch_predict(dataset)\n",
    "dataset['stability'] = stabilities\n",
    "dataset['difficulty'] = difficulties\n",
    "dataset['p'] = np.exp(np.log(0.9) * dataset['delta_t'] / dataset['stability'])\n",
    "dataset['log_loss'] = dataset.apply(lambda row: - np.log(row['p']) if row['y'] == 1 else - np.log(1 - row['p']), axis=1)\n",
    "print(f\"Loss after training: {dataset['log_loss'].mean():.4f}\")\n",
    "\n",
    "tmp = dataset.copy()\n",
    "tmp['stability'] = tmp['stability'].map(lambda x: round(x, 2))\n",
    "tmp['difficulty'] = tmp['difficulty'].map(lambda x: round(x, 2))\n",
    "tmp['p'] = tmp['p'].map(lambda x: round(x, 2))\n",
    "tmp['log_loss'] = tmp['log_loss'].map(lambda x: round(x, 2))\n",
    "tmp.rename(columns={\"r\": \"grade\", \"p\": \"retrievability\"}, inplace=True)\n",
    "tmp[['id', 'cid', 'review_date', 'r_history', 't_history', 'delta_t', 'grade', 'stability', 'difficulty', 'retrievability', 'log_loss']].to_csv(\"./evaluation.tsv\", sep='\\t', index=False)\n",
    "del tmp"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.2 Calibration graph\n",
    "\n",
    "1. FSRS predicts the stability and retention for each review.\n",
    "2. Reviews are grouped into 40 bins according to their predicted retention.\n",
    "3. Count the true retention of each bin.\n",
    "4. Plot (predicted retention, true retention) in the line graph.\n",
    "5. Plot (predicted retention, size of bin) in the bar graph.\n",
    "6. Combine these graphs to create the calibration graph.\n",
    "\n",
    "Ideally, the blue line should be aligned with the orange one. If the blue line is higher than the orange line, the FSRS underestimates the retention. When the size of reviews within a bin is small, actual retention may deviate largely, which is normal.\n",
    "\n",
    "R-squared (aka the coefficient of determination), is the proportion of the variation in the dependent variable that is predictable from the independent variable(s). The higher the R-squared, the better the model fits your data. For details, please see https://en.wikipedia.org/wiki/Coefficient_of_determination\n",
    "\n",
    "RMSE (root mean squared error) is the square root of the average of squared differences between prediction and actual observation. The lower the RMSE, the better the model fits your data. For details, please see https://en.wikipedia.org/wiki/Root-mean-square_deviation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R-squared: 0.9278\n",
      "RMSE: 0.0170\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAG2CAYAAADvBjcOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAADA6ElEQVR4nOzdd3hT1RvA8W+SpnuXLtrSlk1lg0BlK4qACIKKshFREBzUiSIgDhRlOFCUKfwUFEVEQKYM2bJHoayWFujeO2lyf3+EpC0tpUnTpuN8nodHb3LvuSdN27w957zvkUmSJCEIgiAIgiDUGXJLd0AQBEEQBEGoWiIAFARBEARBqGNEACgIgiAIglDHiABQEARBEAShjhEBoCAIgiAIQh0jAkBBEARBEIQ6RgSAgiAIgiAIdYwIAAVBEARBEOoYEQAKgiAIgiDUMSIAFARBEARBqGMsGgDu27ePgQMHUr9+fWQyGRs2bLjnNXv27KF9+/bY2NjQuHFjVq5cWen9FARBEARBqE0sGgBmZ2fTpk0bFi1aVK7zIyMjGTBgAL179+bUqVO89tprPP/882zbtq2SeyoIgiAIglB7yCRJkizdCQCZTMYff/zB4MGD73rO22+/zebNmzl37pzhsWeeeYa0tDS2bt1aBb0UBEEQBEGo+aws3QFjHDp0iD59+hR7rG/fvrz22mt3vSY/P5/8/HzDcUFBARcuXCAgIAC5XCyBFARBEISaQKvVEh8fT7t27bCyqlHhS7VUo76CcXFxeHt7F3vM29ubjIwMcnNzsbOzK3HNnDlz+OCDD6qqi4IgCIIgVKKjR49y//33W7obNV6NCgBNMW3aNMLCwgzHMTExtGzZkn379hEQEGDBnglqtZp9+/aR59mcOVuvIJfBzqndsbYSI7OWoH8/evTogVKptHR36jTxXlQf4r2wsPCNKPZ8iKwgj1sqZzovulViIEgwTY0KAH18fIiPjy/2WHx8PM7OzqWO/gHY2NhgY2NjOHZxcQEgICCAoKCgSuurcG9qtZrw8HCS3Xywck4DQOHiRZCno2U7Vkfp34+goCDxQWdh4r2oPsR7YSGqbNjyJpz6CeyB4F4UdJgBizqJ5VtmUqO+iqGhoezatavYYzt27CA0NNRCPRLMITOvwPD/15OzLdgTQRAEweISLsCSB3XBn0wOvd+DURvA0dPSPatVLBoAZmVlcerUKU6dOgXoyrycOnWK6OhoQDd9O3r0aMP5EydO5Nq1a7z11ltcvHiRb7/9ll9//ZWpU6daovuCmWTlFwaAkUk5FuyJIAiCYDGSBCdWwQ+9IfEiOPrA6I3Q8y2QKyzdu1rHolPAx44do3fv3oZj/Vq9MWPGsHLlSmJjYw3BIEBwcDCbN29m6tSpfPnll/j7+7N06VL69u1b5X0XzCczX4wACoIg1Gn5mbApDM7+qjtu9CA88YMY9atEFg0Ae/XqRVllCEvb5aNXr16cPHmyEnslVLWiU8CRSbU/ANRqtahUKkt3owS1Wo2VlRV5eXloNBpLd6dOq87vhVKpRKEQozGCGcWdhXVjIfkKyBTw4HTo+hpUcK3frFmzSlQBadasGRcvXgQgLy+P119/nbVr15Kfn0/fvn359ttviyWZREdHM2nSJHbv3o2joyNjxoxhzpw5xcrQ7Nmzh7CwMM6fP09AQADTp09n7Nixxe67aNEiPv/8c+Li4mjTpg1ff/01nTp1qtDrq6galQQi1E5ZxdYA1u4pYJVKRWRkJFqt1tJdKUGSJHx8fIiJiUEmk1m6O3VadX8vXF1d8fHxqZZ9E2oQSYLjK+Dvd0CTD85+MHQZBJpvXf99993Hzp07DcdFA7epU6eyefNm1q1bh4uLC1OmTGHIkCEcOHAAAI1Gw4ABA/Dx8eHgwYPExsYyevRolEoln3zyCVC4Q9nEiRP56aef2LVrF88//zy+vr6G2clffvmFsLAwFi9eTOfOnVm4cCF9+/YlIiICLy8vs71WY4kAULC4olPAN1JzUBVoa2UpGEmSiI2NRaFQVMtC5FqtlqysLBwdHatd3+qa6vpeSJJETk4OCQkJAPj6+lq4R0KNlZcBf70C5//QHTfpC4O/AwcPs97GysoKHx+fEo+np6ezbNkyfv75Zx588EEAVqxYQYsWLTh8+DBdunRh+/bthIeHs3PnTry9vWnbti0ffvghb7/9NrNmzcLa2prFixcTHBzMvHnzAGjRogX79+9nwYIFhgBw/vz5TJgwgXHjxgGwePFiNm/ezPLly3nnnXfM+nqNIQJAweKKjgBqJV0Q2LAWloIpKCggJyeH+vXrY29vb+nulKCfmra1ta1WQUddVJ3fC33JrYSEBLy8vMR0sGC8W6d0U76pkSC3godmQuiUck/5ZmZmkpGRYTi+s9xbUZcvX6Z+/frY2toSGhrKnDlzaNCgAcePH0etVhfbXax58+Y0aNCAQ4cO0aVLFw4dOkSrVq2KTQn37duXSZMmcf78edq1a3fPHcpUKhXHjx9n2rRphuflcjl9+vTh0KFD5Xq9laV6/WYR6iT9CKBCrptOiqqliSD6tVzW1tYW7okgVIz+Dxi1Wm3hngg1iiTBke9h2cO64M+lAYzbCl1fMWq9X0hICC4uLoZ/c+bMKfW8zp07s3LlSrZu3cp3331HZGQk3bt3JzMzk7i4OKytrXF1dS12jbe3N3FxccDddx/TP1fWOfodypKSktBoNKWeo2/DUsQIoGBx+iSQJl6OXIzLJKqWl4IR66aEmk58DwtGy02DjVPgwl+642YDYPAisHMzuqnw8HD8/PwMx3cb/evXr5/h/1u3bk3nzp0JDAzk119/vevmEXWJGAEULEorQbZKFwC29NPt0lJbRwAFQRDqpBvH4fvuuuBProRHP4VnfjIp+ANwcnLC2dnZ8O9uAeCdXF1dadq0KVeuXMHHxweVSkVaWlqxc+Lj4w1rBu+2+5j+ubLO0e9QVq9ePRQKRannlLY2sSqJAFCwKJVGNysA0NpfHwDW7hFAwbxkMhkbNmyo9PusXLmy2HTRrFmzaNu2reF47NixDB48uNL7UVRQUBALFy6s0nsKQrlJEhz8BpY/AmnR4BYE47dDl0lQyijyzbRcjlxLrrTuZGVlcfXqVXx9fenQoQNKpbLY7mIRERFER0cbdhcLDQ3l7NmzhqQn0O0+5uzsTEhIiOGcsnYos7a2pkOHDsXO0Wq17Nq1y+K7mIkAULCo3NslzqwVcpp6OwGiGHR1dejQIRQKBQMGDDD6WksHKnFxcbz88ss0bNgQGxsbAgICGDhwYIlf3MZ44403KnS9Me4MPvX+++8/XnjhhSrpgyAYJScF1jwL298DbQGEDIIX94Ff+2Kn5Rdo2HTmFqOWHaHbZ/8Q9utptNq71wc2xhtvvMHevXuJiori4MGDPPHEEygUCp599llcXFwYP348YWFh7N69m+PHjzNu3DhCQ0Pp0qULAI888gghISGMGjWK06dPs23bNqZPn87kyZMNo47l2aEsLCyMJUuW8OOPP3LhwgUmTZpEdna2ISvYUsQaQMGi9AGgk60VQR4OANxIzUWt0aJUiL9PqpNly5bx8ssvs2zZMm7dukX9+vUt3aVyiYqKomvXrri6uvL555/TqlUr1Go127ZtY/LkyYaisMZydHTE0bFi2eoqlapCSUGenmKXBKEaij4Cvz0HGTdAYQOPfgIdxxcb9bsQm8Ev/8Ww4dRN0nIKk4kauNuTkqOinmP5pnXLcuPGDZ599lmSk5Px9PSkW7duHD582PBzs2DBAuRyOUOHDi1WCFpPoVCwadMmJk2aRGhoKA4ODowZM4bZs2cbzinPDmXDhg0jMTGRGTNmEBcXR9u2bdm6dWuJxJAqJ9UxMTExEiBFRkZauit1nkqlkuav2iAFvr1J6jH3H0mr1UrNpm+RAt/eJF1LzLJ098wuNzdXCg8Pl3Jzcy3dlVJpNBopNTVV0mg0JZ7LzMyUHB0dpYsXL0rDhg2TPv744xLnbNy4UerYsaNkY2MjeXh4SIMHD5YkSZJ69uwpAcX+SZIkzZw5U2rTpk2xNhYsWCAFBgYajo8ePSr16dNH8vDwkJydnaUePXpIx48fL3YNIP3xxx93fV39+vWT/Pz8pKyskt9Tqamphv+fN2+e1LJlS8ne3l7y9/eXJk2aJGVmZhqeX7FiheTi4mI4vrP/Y8aMkQYNGiTNmjVLqlevnuTk5CS9+OKLUn5+vuGcnj17SpMnT5ZeffVVycPDQ+rVq1ep9544caIUExMjaTQaaffu3SW+fjNnzpQkSZICAwOlBQsWGNq/fv269Pjjj0sODg6Sk5OT9NRTT0lxcXEl+rxq1SopMDBQcnZ2loYNGyZlZGTc9etXmur+vWxOKpVK2rBhg6RSqSzdlepPo5GkfxdI0iw3SZrpLElftpOkW6cNT6flqKTVh6KkgV//KwW+vcnwr/PHO6Uvtl2UopLK/r0fGRkpAVJMTEwlv5C6QYwAChaVq9H9Rehka4VMJiPIw+F2JnA2wfUcLNy7yiVJErlqy2zzZadUGJXJ+euvv9K8eXOaNWvGyJEjee2115g2bZqhjc2bN/PEE0/w3nvvsWrVKlQqFVu2bAFg/fr1tGnThhdeeIEJEyYY1c/MzEzGjBnD119/jSRJzJs3j/79+3P58mWcnJzueX1KSgpbt27l448/xsGh5PdT0WlVuVzOV199RXBwMNeuXeOll17irbfeKjYicC+7du3C1taWPXv2EBUVxbhx4/Dw8ODjjz82nPPjjz8yadIkw24Dd7u3SqViyZIlPPDAAyxcuJAZM2YQEREBUOrIo1arZdCgQTg6OrJ3714KCgqYPHkyw4YNY8+ePYbzrl69yoYNG9i0aROpqak8/fTTfPrpp8X6KAig+566M0niblyVBcj/fAmu7NA90PJJGLgQydqRw1eT+fVYDFvOxpJfoNsFSamQ8XCIN091DKBHE09DGTCh6ogAULCofP0UsI0SoDAArAPrAHPVGkJmbLPIvcNn98Xeuvw//suWLWPkyJEAPProo6Snp7N371569eoFwMcff8wzzzxTbN/NNm3aAODu7o5CocDJycnorDd9hX69H374AVdXV/bu3ctjjz12z+uvXLmCJEk0b978nufqC7eCbs3iRx99xMSJE40KAK2trVm+fDn29vbcd999zJ49mzfffJMPP/zQUNC5SZMmzJ07t8x7z549m0mTJrFkyRKsra1xcXFBJpOV+fXbtWsXZ8+eJTIykoCAAABWrVrFfffdx3///cf9998P6D7UV65caQigR40axa5du0QAKJSQlpbG/E0nsXUo+4+tvNgIwlJn465JACtb6PcZUrvR/H0+ni+2H+daYuHv86bejjzdMYAn2vnhYYZpXsF0IgAULKroGkCAwHq6ArNRSbU/AKwpIiIiOHr0KH/8oduyycrKimHDhrFs2TJDAHjq1CmjR/fKIz4+nunTp7Nnzx4SEhLQaDTk5OQQHR1druslqfyLyXfu3MmcOXO4ePEiGRkZFBQUkJeXR05OTrl3bmnTpk2xc0NDQ8nKyiImJobAwEAAOnToYNS9y7vO8MKFCwQEBBiCP9AVzHV1deXChQuGADAoKKjY6Kmvr2+xLEdBKMrWwQkHZ9fSn5S0EH0YIneCVTwENIOnVnI8rz4fLz7Eieg0ABxtrBjYpj5Pd/SnbYCrqCNZTYgAULAo/S5wjrcDwODbiSB1oRSMnVJB+Oy+9z6xku5dXsuWLaOgoKBY0ockSdjY2PDNN9/g4uJiUlFVuVxeIkC7c2eJMWPGkJyczJdffklgYCA2NjaEhoaiUqnKdY8mTZogk8numegRFRXFY489xqRJk/j4449xd3dn//79jB8/HpVKZdat++6cii7t3vv27WPChAnlfp3GUCqVxY5lMhlardbs9xFqOVW2rq5fapSu3Mt9Q7jeZy6f7Yxhy9mDgO73zAs9GjKhR0McbUS4Ud2Id0SwKP0aQGdb3YdSoCEArP0jgDKZzKhpWEsoKChg1apVzJs3j0ceeaTYc4MHD2bNmjVMnDiR1q1bs2vXrruWNbC2tjZshafn6elJXFwckiQZRgROnTpV7JwDBw7w7bff0r9/fwBiYmJISkoqd//d3d3p27cvixYt4pVXXikRfKWlpeHq6srx48fRarXMmzfPMFX766+/lvs+eqdPnyY3N9cQEB8+fBhHR8dio3J3Ku3ev/zyS7FzSvv63alFixbExMQQExNjuF94eDhpaWmGmmWCYBapUbrgT5UNCiUFDbvzmVUz1i86hlojIZfB0x0DmPpwU7ydbS3dW+EuRJ0NwaLy7pgC1id+6EvBCJalTxQYP348LVu2LPZv6NChLFu2DICZM2eyZs0aZs6cyYULFzh79iyfffaZoZ2goCD27dvHzZs3DQFcr169SExMZO7cuVy9epVFixbx999/F7t/kyZNWL16NRcuXODIkSOMGDHC6NHGRYsWodFo6NSpE7///juXL1/mwoULfPXVV4ZCrI0bN0atVvP1119z7do1Vq9ezeLFi43+eqlUKsaPH094eDhbtmxh5syZTJkyxRDYlaa0e3///ffFzgkKCiIrK4tdu3aRlJRETk7JEfI+ffrQqlUrRowYwYkTJzh69CijR4+mZ8+edOzY0ejXIgglSFqI+hdOrwVVNpJDPc77DGb1NXt+PhKNWiPRq5knf7/ag0+HthbBXzUnAkDBovRTwPoA0MvJBlulHI1W4kZqrgV7JoBu+rdPnz64uLiUeG7o0KEcO3aMM2fO0KtXL9atW8fGjRtp27YtDz74IEePHjWcO3v2bKKiomjUqJGhBleLFi349ttvWbRoEW3atOHo0aO88cYbJe6fmppK+/btGTVqFK+88gpeXl5GvYaGDRty4sQJevfuzeuvv07Lli15+OGH2bVrF9999x2gW7s3f/58PvvsM1q2bMlPP/101w3my/LQQw/RpEkTevTowbBhw3j88ceZNWtWmdeUdu87EzIeeOABJk6cyLBhw/D09CyRRAK6EeU///wTNzc3evToQZ8+fWjYsGGJ0URBMEl+pi7wi9Jlr6e7tmBVfk92RmtRaSSaejvxv/GdWTmuE8187p2hL1ieTDJmlXQtcOPGDQICAoiMjCQoKMjS3anT1Go1T8zfyrlUOXOGtOLZTg0A6LtgHxHxmawYdz+9mxn3YV+d5eXlERkZSXBwMLa21e8vY61WS0ZGBs7OzmWOWAmVr7q/F9X9e9mc1Go1W7ZsoX///iXWT9Z2KSkpfLv7Cg4FKXBhE6hzkORKDlndz3+5vgA4WCto76Nk/tNt8aznUan9iYqKIjg4mJiYGPz9/Sv1XnVB9V6AJNR6ebfXABZdIBxUz56IeF0tQJpZqmeCIAh1nKYAog9C0hkAUmSu/KXuRJraCaVCxv1B7rQLcCU/O0PU8auBRAAoWNSdawABw5Zw1+tAJrAgCEJ1lHTrGokrRkFyENjZcEYbzD6pDcgVtPZ1oXNDd0MSW75luyqYSASAgkXlGtYAFk6tBNWrO5nAgiAI1UVmnpqt5+KIOrSB8Umf4p2XiZpG/K3tTL57U/r4ONHI01Hs015LiABQsCj9CKBzkRHAQA9RDFoQBKEqaLUSOy/Es+HUTfZcuMUrrOVNq00gg+OKYCK9B9GzWYtqX7JKMJ54RwWLkSTJsBOIY5EA8M5SMOKvTUEQBPNTFWh5Zc1Jtp6Pw49E/mf9Ne3lVwDIbD2e4G5v0vTfGBH81VLiXRUsJk+tRSvpFg4XnQL2drLFxkpOfoGWm6m5hilhQRAEwTxUBVom/3yCHeHx9LM6wXyb77HTZCLZOCMbtAinkMdJSUmxdDeFSiQCQMFisvJ1CwDlMl0pAT25XEaQh4MuEzg5WwSAgiAIZpRfoOGl/51g38VbzLJew1j536AB6rdH9tQKcAuydBeFKiACQMFiMm9XgXa0sSqxOXighygFIwiCYG55ag2T/necK5fOsd7ma1rJrumeCJ0CD80EK2vLdlCoMiIAFCwmM78wALxTsCETWJSCEQRBMIc8tYYXVx/H7spmtlh/j5MsF2xd4YnF0KyfpbsnVDGxul6wGP0IYNEagHqBHqIUTF0wa9YsvL29kclkbNiwwdLdMdqePXuQyWSkpaUBsHLlSlxdXQ3Pz5o1i7Zt21Zpn3r16sVrr71WpfcUqr88tYaXfjzIg9fmsth6oS74C+gME/eL4K+OEgGgYDH6NYClBYBB9XSlYEQxaMsbO3YsMpkMmUyGtbU1jRs3Zvbs2RQUFFSo3QsXLvDBBx/w/fffExsbS79+Ff8QMibgysjI4L333qN58+bY2tri4+NDnz59WL9+PabukDls2DAuXbpk0rXGujP41Fu/fj0ffvhhlfRBqBlyVRreXbqBsOgpjLHaoXuw62swdjO4Bli0b4LliClgwWKKrgG8k343kJiUHAo0WqxEKRiLevTRR1mxYgX5+fls2bKFyZMno1QqmTZtmtFtaTQaZDIZV69eBWDQoEEl1oBWtrS0NLp160Z6ejofffQR999/P1ZWVuzdu5e33nqLBx98sNhIXnnZ2dlhZ2dXob6pVCqsrEz/1ezu7l6h+wu1S46qgCXffc4HKV/iJM9FbeOO8skfoMnDlu6aYGHiU1WwmLJGAH2cdaVgCrQSN9Nyq7prwh1sbGzw8fEhMDCQSZMm0adPHzZu3AhAfn4+b7zxBn5+fjg4ONC5c2f27NljuFY/Lbpx40ZCQkKwsbHhueeeY+DAgQDI5fJiAeDSpUtp0aIFtra2NG/enG+//bZYX27cuMGzzz6Lu7s7Dg4OdOzYkSNHjrBy5Uo++OADTp8+bRixXLlyZamv59133yUqKoojR44wZswYQkJCaNq0KRMmTODUqVM4OjoCsHr1ajp27IiTkxM+Pj4MHz6chISEu36d7pwC1vv+++8JCAjA3t6ep59+mvT0dMNzY8eOZfDgwXz88cfUr1+fZs10WU9r166lU6dOpd47KiqK3r17A+Dm5oZMJmPs2LFAySng1NRURo8ejZubG/b29vTr14/Lly+X6PO2bdto0aIFjo6OPProo8TGxt71dQo1Q3ZWJgcWjuTV1E9xkuWS6X0/yskHRPAnAGIEULCgzDw1UPoIoFwuI9DDnkvxWUQmZRvWBNYqkgRqC01xK+2hAqNudnZ2JCcnAzBlyhTCw8NZu3Yt9evX548//uDRRx/l7NmzNGnSBICcnBw+++wzli5dioeHB76+vvTq1Ytx48YVCzR++uknZsyYwTfffEO7du04efIkEyZMwMHBgTFjxpCVlUXPnj3x8/Nj48aN+Pj4cOLECbRaLcOGDePcuXNs3bqVnTt3AuDi4lKi71qtlrVr1zJixAjq169f4nl98AegVqv58MMPadasGQkJCYSFhTF27Fi2bNlS7q/VlStX+PXXX/nrr7/IyMhg/PjxvPTSS/z000+Gc3bt2oWzszM7duwwPFZQUMAHH3xAixYtStw7ICCA33//naFDhxIREYGzs/NdRx7Hjh3L5cuX2bhxI87Ozrz99tv079+f8PBwlEql4f354osvWL16NXK5nJEjR/LGG28U66NQs2TfCidp+bM8XBCFVpIR33YKvo/PAoX42Bd0xHeCYDFlJYGAbhr4UnxW7V0HqM6BT0oGIFXi3VtgbXxQLUkSu3btYtu2bbz88stER0ezYsUKoqOjDcHUG2+8wdatW1mxYgWffPIJoAukvv32W9q0aWNoSz9S5uPjY3hs5syZzJs3jyFDhgAQHBxMeHg433//PWPGjOHnn38mMTGR//77zzDV2bhxY8P1jo6OWFlZFWvzTklJSaSmptK8efN7vt7nnnvO8P8NGzbkq6++4v777ycrK6tYoFiWvLw8Vq1ahZ+fHwBff/01AwYMYN68eYZ+Ojg4sHTpUqytdSU4tFotI0eOxNnZGblcXuq99a/fy8vrrtPV+sDvwIEDPPDAA4AuyA4ICGDDhg089dRTgO79Wbx4MY0aNQJ0Qf3s2bPL9fqE6if32E/IN4cRKOWRjAup/RbRuMtAS3dLqGZEAChYTFa+bh84p1JGAAFDAWiRCWx5mzZtwtHREbVajVarZfjw4cyaNYs9e/ag0Who2rRpsfPz8/Px8PAwHFtbW9O6desy75Gdnc3Vq1cZP348EyZMMDxeUFBgGMk7deoU7dq1q9A6N2MSPI4fP86sWbM4ffo0qampaLVaAKKjowkJCSlXGw0aNDAEfwChoaFotVoiIiIMAWCrVq0MwZ/eqVOn+OKLLzhz5ozJ975w4QJWVlZ07tzZ8JiHhwfNmjXjwoULhsfs7e0NwR+Ar69vmVPdQjWlykb11xvYnf0ZgKPch+PwFYQ0FcVUhZJEAChYjH4KuKwRQEBXDLo2UtrrRuIsdW8j9O7dm++++w5ra2vq169vSFLIyspCoVBw/PhxFApFsWuKjpDZ2dndM9EjKysLgCVLlhQLWABD2xVNsADw9PTE1dWVixcvlnlednY2ffv2pW/fvvz00094enoSHR1N3759UalUFe5HUQ4OxUdjs7OzGTp0aJXcGzBMBevJZDKTM6EFC0m4gOaXMVgnR6CRZHwve4oe4z8jJEAkBQmlEwGgYDFlFYIGCPKo5aVgZDKTpmEtwcHBodhUq167du3QaDQkJCTQvXv3Ct3D29ub+vXrc+3aNUaMGFHqOa1bt2bp0qWkpKSUOgpobW2NRqMp8z5yuZxnnnmG1atXM3PmzBLrALOysrC1teXixYskJyfz6aefEhCgK5Vx7Ngxo19XdHQ0t27dMtzn8OHDyOVyQ7JHaS5evEhKSgpz5swhMDCw1HvrRwzLer0tWrSgoKCAI0eOGKaAk5OTiYiIKPcoolDNSRKc/B/SljdRFOQSL7nynvw1pk54jvvql1wDKwh6IgtYsJgsfRmYu4wABt6eAo6+XQpGqH6aNm3KiBEjGD16NOvXrycyMpKjR48yZ84cNm/ebHR7H3zwAXPmzOGrr77i0qVLnD17lhUrVjB//nwAnn32WXx8fBg8eDAHDhzg2rVr/P777xw6dAiAoKAgIiMjOXXqFElJSeTn55d6n48//piAgAA6d+7MqlWrCA8P5/Llyyxfvpx27dqRlZVFgwYNsLa25uuvv+batWts3LjRpPp6tra2jBkzhtOnT/Pvv//yyiuv8PTTT5e5TlF/72+++eau9w4MDEQmk7Fp0yYSExMNI6hFNWnShEGDBjFhwgT279/P6dOnGTlyJH5+fgwaNMjo1yJUM/lZ8MeLsHEKsoJc9mlaMVwxj9dfGC+CP+GeRAAoWExZZWAAfJ1tsb5dCuZWWl5Vdk0wwooVKxg9ejSvv/46zZo1Y/Dgwfz33380aNDA6Laef/55li5dyooVK2jVqhU9e/Zk5cqVBAcHA7pRr+3bt+Pl5UX//v1p1aoVn376qWGKeOjQoTz66KP07t0bT09P1qxZU+p93N3dOXz4MCNHjuSjjz6iXbt2dO/enTVr1vD555/j4uKCp6cnK1euZN26dYSEhPDpp5/yxRdfGP2aGjduzJAhQ+jfvz+PPPIIrVu3LlHa5k6enp4sWrSI33777a739vPz44MPPuCdd97B29ubKVOmlNrWihUr6NChA4899hihoaFIksSWLVtKTPsKNUzcOfihJ5z5BQ1y5qqHEaZ8n29f6EsLX2dL906oAWRSHVvocePGDQICAoiMjCQoKMjS3anT7v9oB4lZKja+FErrBqWvU3l4/l4uJ2Tx43Od6NnUs4p7aF55eXlERkYSHByMra2tpbtTglarJSMjw5B5KlhOdX8vqvv3sjmp1Wq2bNlC//79q0fQLElwfAX8/Q5o8kmSeTAxbzJRDq35eUIXmno7me1WKSkpfLv7Cg7OrmWel52Rxku9G1d6EfKoqCiCg4OJiYnB39+/Uu9VF4g1gILFGNYA2iruek5QPQcuJ2RxPTkbqNkBoCAIQoXkZcBfr8L59QActerIi1nPo3D0ZM2EzjQxY/An1H4iABQsQq3RkqfWretzsrn7X9X6RJDI2poJLAiCUB63TsFv4yDlGpLciqXWo/gk7SE8HO1Y+0JnGnuJ4E8wjggABYvQF4EGcLQpewQQanEmsCAIQlkkCY4uge3vgUaFxsmf17WvsiHZD08nG9ZM6EJjr/IVJReEokQAKFiEPgPYWi5hpbj7GqdaXwtQEAThbnLTYOMUuPAXAPmNHmV4wiiOJ8vwcrJhzQtdaOQpgj/BNCIAFCwi43YRaLu7D/4BhSOAMam6UjBlBYs1RR3LuxJqIfE9XAVuHIffxkJaNMiVZPWcyRPHWnE5MRtvZ93IX0MR/AkVUPM/TYUaST8FfJcKMAb6UjBqTc0vBaMvVVIZOzkIQlXKydEtyagWWbG1jSTBoUWwvK8u+HMNJOXZvxh8vDWXE7PxcbZl7QuhIvgTKkyMAAoWod8GrowEYADkchmB7vZcTsgiKjmbBh7GbWFWnVhZWWFvb09iYiJKpbLalffQarWoVCry8vKqXd/qmur6XkiSRE5ODgkJCbi6upbY/k+ooJwU+HMyRGzRHbd4nMTeX/DM6gtcTczG18WWNRO6GGZGBKEiRAAoWIS+CLSd4t5TSYEetaMUjEwmw9fXl8jISK5fv27p7pQgSRK5ubnl2rdXqFzV/b1wdXUtcycTwQQxR2HdOMi4AQpr6PsJ8c1G8uzSI1xLzKa+iy1rXuhCoIcI/gTzEAGgYBHlnQIGCK6nLwVT8zOBra2tadKkSbWcBlar1ezbt48ePXqIqT0Lq87vhVKpFCN/5qTVwsGvYNdskDRo3Rryb9vPWXvJjd1/7SFPrcXP1Y41E7rU6BkQofoRAaBgEeWdAgYMf/HqRgBrPrlcXi13T1AoFBQUFGBra1vtgo66RrwXdUR2sm4v3ys7ADjq2JuJiaNI+TsfiAOguY8TS0Z3JMBdBH+CeYkAULAIwwhgOQLA4NvrXSJrSQAoCIKQc3kfst+fxy4vnjxJyayCMaxN6g3ICPKwp38rX/q38uW++s7VchmAUPOJAFCwiEyj1gDq/vKNSclBo5VQyMUvQ0EQap7MPDU7zsci27+Ax1NWoJBJXNX6Mln9KvkeLZjcyof+rXwJ8RVBn1D5RAAoWIQxawDru9hhbSVHVaDlVlqumAoRBKHG2Xouji/W/8sM9Zf0UJwFGWy36sXFDrNY0LYRzX2cRNAnVCkRAAoWkVnOQtCgKwXTwN2eK7dLwYgAUBCEmiIjT82sjeeJPbWdn5WL8FKkoZbbkNTjYx7uMZ5HqlGZH6FuEd95gkUYswYQxJZwgiDUPAeuJNF//m4anPmSn5Sf4CVLQ1uvGcqJ+/DtNQGZCP4ECxIjgIJFGLKAy/kdGHR7HWBUcs0vBSMIQu2Wp9bw2daLbDpwki+Vi3jAKlz3RLuRyPt9DtZiFkOwPBEAChaRlVf+JBCAwHpiBFAQhOrvdEwaYb+ewjf5MFtsFuEpy0BSOiB7bAG0GWbp7gmCgQgABYswdgo4WD8FLErBCIJQDak1Wr7+5wqLd0fwsvw3Jlv/iRwJvFsie2ol1Gti6S4KQjEiABSqnFYrkaUyLgAsLAWTK0rBCIJQrVxJyGTqL6dJvHmN1daL6Cy/qHuiwzh4dA4o7SzbQUEohQgAhSqXpSpAuj3za1fO78D6rnZYK+SoNKIUjCAI1YNWK7HiYBSfbb3IA9rjrLJdjBuZYO0Ej38JLYdauouCcFciABSqnH79n1IhQ1nOJDiFXEaAux1XE7O5npwjAkBBECzqzI00PtlygWPXEnjD6lcmWm/SPeHbBp5cAR6NLNtBQbgHEQAKVU6//s/J1gpQl/u64HoOXE3MJjI5m25N6lVS7wRBEEonSRL/Xk5i8d6rHLyaTH2SWGfzDe1kl3QndHoBHvkIrGws21FBKAcRAApVTl8CxtHGuG+/wNuJINdFJrAgCFVII8Hms3Es2R/F+VsZAPRVHGeBzQ/YazPBxgUGfQ0hgyzcU0EoPxEAClWu+Ahg+QXVE5nAgiBUnTy1hrVHY/j6pILkw2cAcFZK/OC7kS4Jv4AWqN8enloBbkEW7asgGMviZcgXLVpEUFAQtra2dO7cmaNHj5Z5/sKFC2nWrBl2dnYEBAQwdepU8vLyqqi3gjlk3B4BdDJyBFAUgxYEoSqk56pZtPsK3T77h1l/XSA5X4abvZIZ3ew54feFLvgD6DIZntsmgj+hRrLoCOAvv/xCWFgYixcvpnPnzixcuJC+ffsSERGBl5dXifN//vln3nnnHZYvX84DDzzApUuXGDt2LDKZjPnz51vgFQimyMrXjwAqjbpOvx1cdHKOKAUjCILZxaXnsfxAJD8dvk62SgOAn6stXVyzmd05F4etYZCfDrauMPg7aN7fsh0WhAqwaAA4f/58JkyYwLhx4wBYvHgxmzdvZvny5bzzzjslzj948CBdu3Zl+PDhAAQFBfHss89y5MiRKu23UDH6KWBHI6eAi5aCiU3Pxd9NZAILglBxGq3Esv3XmLf9EvkFWgCa+zgxsWcjHmniSNzK53D4c6fuZP9O8ORycA2wYI8FoeIsFgCqVCqOHz/OtGnTDI/J5XL69OnDoUOHSr3mgQce4H//+x9Hjx6lU6dOXLt2jS1btjBq1Ki73ic/P5/8/HzDcWZmJgBqtRq1uvwZqIL5pGfr3g97pW4Ez5j3wd/NjmtJ2VyJz8Db0bgRRKFs+vdB/FxYnngvqs7l+Cze2XCOMzd0yR0dGrgyqWcwPZrUQ5YaiWLV0zRMOgeAJvRltD3fBYUS6sB7o1arkSQNWq2mzPMkSVMln6ni58G8LBYAJiUlodFo8Pb2Lva4t7c3Fy9eLPWa4cOHk5SURLdu3ZAkiYKCAiZOnMi777571/vMmTOHDz74oMTj+/btIzw8vGIvQjDJuWtyQE7izRhoADt27Cj3tXYa3bWb9x4lPaJ8+wgLxjHm/RAql3gvKo9GCztvydh2Q45GkmGnkBgcpKWzZxLZV5I4/d9h2kYvR67NI1/hyInAF0nIawPb6s57kpmZydWbcmwdnMo8Ly87kx15V3FyckKr1ZKdXb5EPQcHB+Ty8qciJCUllftc4d5qVBbwnj17+OSTT/j222/p3LkzV65c4dVXX+XDDz/k/fffL/WaadOmERYWZji+efMmISEh9OjRg6CgoCrquVDU7t/OQnwsrVs0gewIHn74YZTK8o3mnZJFcP7gdZx8G9K/X7NK7mndolar2bFjh1Hvh1A5xHtRuc7fyuCdP85zMU43I/RgM09mP94Cb2dbUOci3zEdRdSPAGj8O7PH5Vm6DxhW596LlJQUIv+9hr2Ta5nn5WSm8XD3hri7u5OSksKXf5/GzrHsoDE3K5NXH2iDu7t7ufsTFRVV7nOFe7NYAFivXj0UCgXx8fHFHo+Pj8fHx6fUa95//31GjRrF888/D0CrVq3Izs7mhRde4L333iv1LwkbGxtsbAqLcmZk6Ib5lUplnfthri6yVLo1Nq4ONpBt3HvR0NMRgOjUPPH+VRLxs1F9iPfCvPLUGr7adZnv911Do5Vws1cy6/H7eLxNfWQyGSRdhnVjIf4cIIPur6Pt9gZ5W7fXyfdCqVQikymQy8vetF0mUxi+PkqlEnsnVxycXct9jTH9EczHYmVgrK2t6dChA7t27TI8ptVq2bVrF6GhoaVek5OTUyLIUyh035iSJKYDawpTC0GDqAUoCIJpjl9PZcBX//LtnqtotBKPtfZlR1hPBrX10wV/p3+B73vqgj8HTxi1Hh56H+Q1aqJMEMrNonUAw8LCWLJkCT/++CMXLlxg0qRJZGdnG7KCR48eXSxJZODAgXz33XesXbuWyMhIduzYwfvvv8/AgQMNgaBQ/ZlaCBpKloIRBEEoS46qgNl/hfPk4oNcTczG08mGxSM78M3w9tRztAFVDmyYDH+8AOpsCOoOE/dDowct3XXBzD799FNkMhmvvfaa4bG8vDwmT56Mh4cHjo6ODB06tMTMZHR0NAMGDMDe3h4vLy/efPNNCgoKip2zZ88e2rdvj42NDY0bN2blypUl7m9s3ePKZtE/bYYNG0ZiYiIzZswgLi6Otm3bsnXrVkNiSHR0dLERv+nTpyOTyZg+fTo3b97E09OTgQMH8vHHH1vqJQgmyMwvLASdZeS19V3tUCpkqDRa4jLy8HO1M38HBUGoFQ5eTeKd388SnaIrHv9kB3/eHxCCi/3tqcSEC7op38SLgAx6vQM93oR7THkKNc9///3H999/T+vWrYs9PnXqVDZv3sy6detwcXFhypQpDBkyhAMHDgCg0WgYMGAAPj4+HDx4kNjYWEaPHo1SqeSTTz4BIDIykgEDBjBx4kR++ukndu3axfPPP4+vry99+/YFjK97XBUsPrY9ZcoUpkyZUupze/bsKXZsZWXFzJkzmTlzZhX0TKgsWSbWAQRQyGUEuNtzLTGbqKRsEQAKglBCfoGGjzZdYPXh6wDUd7HlkyGt6NXs9getJMGpn2DzG1CQC47eMHQpBPewYK+FypKVlcWIESNYsmQJH330keHx9PR0li1bxs8//8yDD+pGfFesWEGLFi04fPgwXbp0Yfv27YSHh7Nz5068vb1p27YtH374IW+//TazZs3C2tqaxYsXExwczLx58wBo0aIF+/fvZ8GCBYYA0Ni6x1XB4lvBCXWLJEmFhaBNWAMIhdPAFV0HePBKEi+sOkZ8Rt3ZSvCjTeHM33HJ0t0QhEqTlJXPiCVHDMHfyC4N2Da1R2Hwl58Ff0yEPyfrgr+GvXVTviL4qzEyMzPJyMgw/Cta67c0kydPZsCAAfTp06fY48ePH0etVhd7vHnz5jRo0MBQj/jQoUO0atWqWMm6vn37kpGRwfnz5w3n3Nl23759DW3o6x4XPededY+rgsVHAIW6JU+tpeD22j1T1gBCkQAwyfQAMDVbxZQ1J0nJVtGugRuTejUyua2aIjY9l6X7IwF4oUdDkwNwQaiuLsZlMH7lMW6m5eJka8U3w9vTs6ln4Qlx53RTvsmXQSaH3u9BtzAwohadYHkhISHFjmfOnMmsWbNKPXft2rWcOHGC//77r8RzcXFxWFtb4+rqWuxxb29v4uLiDOeUVq9Y/1xZ52RkZJCbm0tqaqrRdY+rgvgEEKqUPgNYLgMHa9PW2QTV020BF5WcY3I/5vx9gZRsFQA3Uk1vpyaJLvL1upmaSzOfsut0CUJNsutCPK+sOUm2SkNwPQeWjulIo9tlo5AkOL4Str4DBXngVB+eXAaBD1i0z4JpwsPD8fPzMxwXLfVWVExMDK+++io7duzA1ta2qrpXY4gAUKhSmfmF078ymcykNio6AnjkWjK/HrthOL6ZlmtSOzVNTGrh67yRmiMCQKFWkCSJpf9G8snfF5AkCG3owXcj2+Nqb607IS8DNr0G537XHTd+GJ74Hhw8LNZnoWKcnJxwdna+53nHjx8nISGB9u3bGx7TaDTs27ePb775hm3btqFSqUhLSys2Cli0HrGPj0+JbF19lnDRc0qraezs7IydnR0KhcLousdVQYx7C1WqsASM6QU99QHg9ZQctEaWglEVaHlvg25fz6beutGBm6l1JABMKRwBvFFHXrNQu6kKtLz9+xk+3qIL/p7t1IBV4zsVBn+xp+GHnrrgT6aAh2fD8F9F8FdHPPTQQ5w9e5ZTp04Z/nXs2JERI0YY/l+pVBarRxwREUF0dLShHnFoaChnz54lISHBcM6OHTtwdnY2TEWHhoYWa0N/jr4NU+oeVwUxAihUKf0UsKnr/wDqu9rqSsEUaIk1shTMD/uuciUhi3qO1nw2tDVPfHuQG6m5SJJk8ohkTRGTWjQArBvT3kLtlZKtYuL/jnM0MgW5DN5/LISxDwTpfo4lCf5bCtveBY0KXALgyeUQ0MnS3RaqkJOTEy1btiz2mIODAx4eHobHx48fT1hYGO7u7jg7O/Pyyy8TGhpKly5dAHjkkUcICQlh1KhRzJ07l7i4OKZPn87kyZMNU88TJ07km2++4a233uK5557jn3/+4ddff2Xz5s2G+4aFhTFmzBg6duxIp06dWLhwYbG6x5YgAkChSlWkCLSelUJOgJs915KyuW5EKZjrydl8/c8VAKYPCKGFr24KIVetITVHjbuDtcl9qglupBSO+tWVaW+hdrocn8lzP/5HTEouTjZWfD28XWGWb24a/PUKhP+pO27WHwYtAvvy7zkr1B0LFixALpczdOhQ8vPz6du3L99++63heYVCwaZNm5g0aRKhoaE4ODgwZswYZs+ebTgnODiYzZs3M3XqVL788kv8/f1ZunSpoQQM3LvusSWIAFCoUllmmAIG3ZZw15KyiUzO5oHG9e55viRJTN9wjvwCLd0a12NQW93en55ONiRm5nMzNbfWB4DFRwBFACjUTLsjEnjl55Nk5hfQwN2eZWM60sT79nrWm8dh3ThIuw5ypW7Kt8skqOWj+0L53Vlf2NbWlkWLFrFo0aK7XhMYGMiWLVvKbLdXr16cPHmyzHPKqntsCSIAFKpUhhmmgAECPXSZwNfLmQn815lY/r2chLWVnI8GtzRM9/q52ukCwLQcWvm7VKhP1Vl+gYa4IvUORQAo1DSSJLHiQBQfbQ5HK0GnIHcWj+qg+8NNkuDwd7BjBmjV4NoAnloJfh0s3W1BqLZEAChUqYoWgdYLrqdLBIksRyZweq6a2X+FAzCld2OCbl8L4Odmx6mYtFofEN1Ky0OSQKmQodZIpGSryM4vwEHUAhRqALVGy4w/z7PmaDQAT3f056PBrbC2kkNOiq6oc8TtEZoWA+Hxb8DO1XIdFoQaQPz2F6qUObKAAQL1mcDl2A3k820XScrKp6GnAy/2bFjsOf/b6wdrewCozwAO8nAgPiOPjLwCbqbl0tRblIIRqh9JkohOyeHczQzO3kzn38uJnL+VgUwG7/VvwfhuwbpR/Jij8NtzkB4DCmvo+wnc/7yY8hWEchABoFClzJEFDBBsCAB1pWDk8tJ/4Z+ITuWnI7pRg48Ht8LGqnjxaX83XQBY25Mi9AFugLs9SoWc8NgMbqaKAFCwPK1WIio5m3O3Mjh3M52zN9I5dyvd8MeinoO1gq+ebcdDLbxBq4WDX8Gu2aAtALdg3ZRv/bYWeQ2CUBOJAFCoUlm3C0E7VzAArO9qi5VcRn6BlriMPOqXkgms1mh5d/1ZJAmGtvcntFHJ2l9++gCwto8A3k4ACXCzw0ouIzw2Q5SCESzmv6gUtp6L4+zNdMJvZRh+LxRlrZDT3NeJln4utKzvQq9mnrqf8+xk2DARLm/XnXjfEBj4JdjeuzCwIAiFRAAoVClzTQFbKeQ0cNeVgolKzi41AFxxIJKLcZm42it5b0CLUtvxc9Ulk9T2YEg/BRzgbo/i9r6ntX3aW6h+1Bot87ZfYvHeq8Uet7GSE1LfmZb1XWjl58J9fs409XZCqbhjr4LrB+G38ZB5CxQ20O8z6DBWTPkKgglEAChUKf0UcEWTQECXCXwtKZuopBweaFT8uRupOSzYcRmAd/u1uGuJF/0IYEZeAZl56goHptWVfhs4fzc7Qwa0CACFqnQzLZdX1pzk+PVUAAa3rU+3Jp608nOhkacDVncGe0VptbB/Puz+BCQNeDTRTfn6tLz7NYIglEkEgEKVMkchaL2geg4QkVgiEUSSJGZtPE+uWkOnIHee6uh/1zYcbaxwtVeSlqPmZlouzX1qZwB44/YIoL+bfZEAsHaPegrVx47weN5Yd5r0XDVOtlbMHdqafq18y3dxViL88QJc/Ud33HoYDJgPNo6V12FBqANEAChUqcx880wBQ+GewHeWgtl2Pp6dFxJQKmR8/ETLe27x5udqpwsAU3Np7lP71hFl5xeQnK0CdFPA+i+HGAEUKpuqQMtnWy+ybH8kAG38XfhmeHsC3O3L10DkPvj9eciKBys7GPAFtB0hpnwFwQxEAChUKXNlAQOGen5Fi0Fn5Rcwa+N5AF7o0bBwh4Ay+Lnacf5WRq0NiPSvy9nWChc7JaD78E3OVpGr0mBnrSjjakEwTUxKDlN+PsHpG+kAjO8WzNuPNtfV7rsXrQb2fQ57PwNJC57NdVO+XqWv5RUEwXgiABSqjFqjJU+tBcwUAN7eDSQqOdtQCmbe9gjiMvJo4G7Pyw82KVc7/m66dmprKZiiCSAALnZKnGytyMwr4GZaDo29RCkYwbz+PhvLW7+fITOvABc7JV881YaHQ8q552lmHKyfoBv9A2g7EvrPBWuHsq8TBMEoIgAUqkzRul6ONlZIWk2F2vNztTOUgonPzCM5S8WPB6MA+HBwS2yV5RvZqu2lYApLwBROu/m52nExLpOY1FwRAApmk6fW8MmWC6w6dB2A9g1c+Xp4e/xKydIv1dV/YP0LkJ0ISgd4bD60eaYSeywIdZcIAIUqo5/+tbdWYKWQo65gAGilkBPgbk9kUjZXE7KZu+0iWgkGtqlPz6ae5W5H/+F0o5aOABYWgS78EPZ3s+diXGatnfYWql5kUjZTfj7B+VsZAEzs2YjXH2laspRLaTQFsGcO/DsPkMDrPt2Ur2fTSu2zINRlIgAUqow5M4D1Aj10AeDcbRc5cyMdJ1sr3n/MuHVCht1AamlW7J1TwFD4mkUmsGAOf566ybvrz5Kt0uDuYM38p9vQq5lX+S7OuKWr7Rd9UHfcYRw8OgeU5Rw1FATBJCIAFKqMPgA0Rw1APV0mcCJnbi80f+vR5ng52RrVhj4YSspSkafWlHvquKbQ1wAsOgXsX8unvYWqkafW8MFf51lzNAaATsHufPVMO3xcyvkzeHkH/PEi5CSDtRMMXAitnqy8DguCYCACQMFkF+MyqO9qh3M5S7oUZgCbr9aePhEEoG2AKyM6NTC6DRc7JQ7WCrJVGm6m5dLIs/bUF5MkyVAD8M4pYBClYATTpWSrGL7kMBfjMpHJ4OXejXnloSZlF3TW06jhnw/hwJe6Y5/Wuilfj0ZlXiYIgvmU4ydVEEo6GZ3Kowv/5Y1fT5f7msqYAg6+Hawp5DI+eaIVcrnx9cFkMpkhEaS2BUTpuWpD7UX9tndQdAq4dr1eoerM2XKBi3GZ1HO0ZvVznQl7pFn5gr+0GFg5oDD4u38CjN8hgj9BqGJiBFAwyeFrKQDsuZRY7mlT/Ybv5R0xLI8HGnkwrGMAHYPcCKlvehFnP1c7LsVn1bop0ZgU3eup52hTrN5f4bR3fo2b9pYkib2XEvkvKoUJ3Rvial/6Nn9C5Tl+PYV1x28A8P2ojnQIdCvfhRe3wIZJkJcGNi4w6GsIGVR5HRWK0Wq1pKWlletcV1fXSu2LYHkiABRMEhGny/RTFWg5FZNGl4Ye97zGnEWg9ZQKOZ892brC7RTWAqxdSRGGEjDuxRfUu9gpcbSxIiu/gBupuTT2qv7T3lqtxPbwOBbtvsrZm7o1nynZauYMaWXhntUtBRot72/QFVt/uqN/+YK/AhXsnAWHF+mO67eHJ5eDe3DldVQoIS0tjfmbTmLrUHbpp7zsTMIea1dFvRIsRQSAgkkuxmUa/v/ItZRyBoDmTwIxl9paC9CQAexWfOstmUyGv5uuFuDNtOodABZotGw6E8ui3Ve4nJAFgLWVHFWBlg0nbzKtf3OzjioLZfvf4euEx2bgYqfk7Ueb3/uC1Cj47Tm4eVx33OUl6PMBWImRW0uwdXDCwdnV0t0QqgGxBlAwmlqj5WpiluH48LXkcl2XkWe+fYDNzVALsLYFgHcZAYTqXwomv0DDmqPRPDR/L6/9corLCVk42Vrx8oONOTztIZp4OZKr1vD77alIofIlZuYzb/slAN7s2wwPR5uyLwjfCIt76II/Wxd45mddiRcR/AmCxVW/oRih2otMykatkZDLQCvBiehU8gs02FiVvY6sMqaAzcVQFqWWFYPWrwG8cwQQqm/Qm6vSsPa/aH7Yd43Y9DwA3B2sGd8tmFGhgYbRvlGhgcz48zyrD19n7ANByGTGJwAJxpnz9wUy8wto5efCs2Vl3Bfkw/bpcPQH3bH//bopX1fjs/QFQagc1e+TWKj2Im5P/7YJcCUmJYekLBWnY9LpFOxe5nX6JJDqGADqp4DjM/JQa7Tl272gBriRWrIItF51KwWTmafmf4ejWbb/GklZKgC8nW2Y0L0hwzs3wN66+PfNE+38+Ozvi1xLzObg1WS6Nq5niW7XGUcjU1h/4iYymW6rRcXdMu6Tr8Jv4yD2doWArq/Cg++DovqN/AtCXVb9PomFak8fADb3caa+qx2bz8Ry+FryPQPAyigDYy71HGwM68ri0vNKDZhqGkmSCreBK2UEsDpNASdk5PHY1/tJyMwHdH2b1KsRT3bwv+vIspOtkifa+/G/w9GsPnRdBICVqECjZcaf5wB45v4A2ga4ln7iufWw8RVQZYKdOzzxPTR9pOo6KghCudWOYQ6hSl00BIBOdLkd9B2JvPc6wMooBG0ucrnMMCUaUw0CInNIzMwnv0CLXAa+riV3ZjBkPleDEcBNZ2JJyMzHx9mWeU+1YfcbvRjROfCeywpGdQkCYMeFeGLTLf86aqsfD13nYlwmrvZK3upbSuKHOhf+ek038qfKhAahMHG/CP4EoRoTAaBgtIh4XQmYpt5Ohuzf49d16wDLUp1HAKH2bY+mD2R9XexKndLWv96ETF0tQEvSJxKNfiCQoR38yz0F38zHiU7B7mi0EmuORFdmF+ushIw8FuzQJX68/Whz3BzuSOBIugxL+8DxFYAMur8OYzaBi1/Vd1YQhHITAaBglKz8AkNiQXMfJxp7OeLhYE2eWmvYj/eu11bjLGAoTIqoLYkg+vdJH+jdydVeif3t4tC3LPiatVqJo1G6wuLlKSd0p9GhgQD8fDQGVYHWrH0T4JMtF8jKL6BNgCvDOgYUf/LMr/B9T4g/B/b1YOTv8NAMUFTPP/IEQSgkAkDBKJfiddO/Xk42uDlYI5PJ6Nzw9jRwGeVgtFqJLFX1rQMIRQLA2jICmHL3BBAorAUIlk0EiYjPJC1Hjb21glZ+LkZf/0iID55ONiRl5bPtfFwl9LDuOnwtmQ2nbukSPwbdV7jVoioH/pwC6yeAOhuCusOkA9D4Ict2WBCEchMBoGAUfQJIM5/CSvL6URv99nClyVIVIEm6/6+uU8C1bT9gQw3AUhJA9KpDJrB++rdDoJtJ2dfWVnJDSZLVh66btW91mbpI4sfwTg1o7e+qeyLhIix5EE6uBmTQ8x0Y/Sc4+Visr4IgGE8EgIJRIookgOh1DtYFgMeup9x1Ck6//s9aIa+2+84WbgdXSwJAfQ3AUopA6xXWP7Rc4os+ADRl+ldveKcGKOQyjkalcPH2NoVCxaw8EMWl+CzcHax5s28z3YMnf4IfekHiBXD01gV+vaeBvHr+TAuCcHciABSMov9wbebjbHisiZcj7rfXAZ69mVbqdVnVPAEECkcAY9Nz0WolC/em4mLKqAGoZ+kpYK1W4mik6ev/9HxcbHkkxBsQo4DmEJeex8KdusSPdx5tjqtCBX9MhD9fgoJcaNhLl+XbsKdlOyoIgslEACiUmyRJpY4AyuUyOt8uB3O3aeDqvAuInreTDQq5DLVGMtSjq6kKNFrDLhrVeQr4UkImqTlq7JQKWvsbv/6vqFG3k0H+OHnT8P0mmObjLRfIVmlo18CVJ/3TYUlvOL0GZHJ4cDqM/AMcvSzdTUEQKkAEgEK5JWbmk5qjRi6Dxl6OxZ4rDABLTwTRTwE7VuMA0Eohx8dZVy+vOhRHrojY9Dw0WglrKzleTnffr7VwOzjLvN7DV3XfLx2DTFv/V1RoQw8aezmSo9Kw/sRNc3SvzslVafj7bCx/nb6FXCbxTbMzyJc9BEmXwMlXV96lx5sgFx8dglBVcnNzyckp/B19/fp1Fi5cyPbt2yvUbvX9NBaqnYjbGcBB9RxKrOPr0uj2OsCo1FK3UsvQjwDaVM8SMHr+bnbcTMvlZlouHS1w/6X/XsNKLmNs1+AKtaOf/vV3tSvM3CyFv2ELPF3R6Kp2xAzTv3oymYxRXQKZuVG3P/Do0ECxP/AdNFqJ2PRcolNyuJGSS0xqDtEpOcSk5BCdkktSlm7k25EcfvZei9+/O3UXNn4YnlgMDmK3FUGoaoMGDWLIkCFMnDiRtLQ0OnfujFKpJCkpifnz5zNp0iST2hUBoFBupU3/6jX1csLNXklqjpozN9LpEOhW7PnqXgRaz8/NDiItMyUak5LDR5svANC3pQ++LndP3riXG/oagPfY0s7dwRo7pYJctabKd9LQaqUiAWDZ2wiW1xPt/fhs60WuJGRx6FoyDzSq2wFLQkYe3+29yuX4LGJSc7iZmkvBPda33m8bwzdWX+GddhNkCl1dvwdeEaN+gmAhJ06cYMGCBQD89ttveHt7c/LkSX7//XdmzJghAkCh8um3gGvm7VziOblcRqdgd7adj+dIZHKJADArv3oXgdbzt2Ax6GPXC9dPHriSzJMd/E1uq7AETNlBpL4W4OWELG6m5Zl8P1NcTsgiJVuFnVJBKz9Xs7TpbKvkiXZ+/HQkmv8dvl6lAWByVj7/XEygmY8TIb7OWFVwSrui0nPVjFx2hEvxWcUet1bI8XOzI8DdnoDb/23gbk+Aqx2No3/B7p/3oUAFzv7w5HJo0NlCr0AQBICcnBycnHQDL9u3b2fIkCHI5XK6dOnC9eumJ72JAFAot8IagI6lPt+loQfbzsdz+FoKL/Uq/lxNSAIByyZFHItKNfz/gStJFQsAbxeB9i8jAUTPEACm5lL6O1s5itb/s7YyX7A0KjSQn45Es+18PHHpefi4lNwH2dyy8gsYvuSIYZmEnVJBuwaudAx0o0OQO+0auOJchX/85BdoeGHVMS7FZ+HtbMPrjzQj0N2eAHd7vJ1tUdy5LCAvHTa+DOF/6o6b9oPB34K9eUZmBUEwXePGjdmwYQNPPPEE27ZtY+rUqQAkJCTg7FxyQKa8qvensVBtaLSSYReQoiVgitKv4zoWlVJiHWCNmgIGblogKeL49cIAcP+VJCRJMnkNW0zqvWsA6hkKYKfl0tyku5nmSKS+/p95g4zmPs50CnLnaFQKa45GM/XhpmZt/05arUTYL6eIiM/EydYKGZCRV8DBq8kcvJ3kIpNBM28n7g9yp2OQGx0C3fBztauUNYparUTYr6c5EpmCo40VK8Z2IqR+GR8SN4/DunGQdh3kSnj4A+jykq7TgiBY3IwZMxg+fDhTp07loYceIjQ0FNCNBrZr187kdqv3p7FQbVxPzia/QIutUk6Du6wra+bthKu9krQcNeduptOuQeE0cI0JAItMAVckADNWeq7aMHpkrZCTmJnPpfisYjuuGMOwDVy5RgBvF8BOzaO5g0m3M5okSYaSQeZIALnTyNBAQwA45cHGFc4wLsvCXZfZHh6PtULOj891oq2/K5cTsjh2PYXjUakcu55KdEoOF+MyuRiXyerDuikbH2dbOgS58VgrX/q18jVbfz7ZcoHNZ2JRKmR8P6rD3YM/SYIji2H7+6BVg2sDeHIl+HcwW18EQai4J598km7duhEbG0ubNm0Mjz/00EM88cQTJrdbvT+NhWpDP/3b1Nup5PTRbXK5jE5B7mwP100Dlx4AVu81gL6uuunCPLWW5GwV9RzvXkLFnE7FpCFJ0MDdnqB6Duy7lMj+K0kmBYB5ao2hjmFZRaD1CncDyYUqCgD16/9slfLCLcbM6NH7fKjnaENCZj7bz8czoLX5Aqyi/j4by1e7LgPwyZBWtL/9Pd/Mx4lmPk6M6KyrTZiQkcex66kci0rl+PUUzt/KIC4jj81nYtl8JpaRXRow47H7KjwVvmx/JEv3RwLw+ZNt6Nr4Lmsgc1J0e/lGbNYdtxgIj38Ddq4Vur8gCOb3zz//8MADD+DjU3y7xU6dOlWoXZHWJZRLYQJI2QFJZ8O+wMXrAdaUNYA2Vgq8nXVB380qXAd4PEo3GtYx0I3utz+0D1xJMqkt/fpFB2sFbvb3DrgtsQVeZa3/07O2kjO8UwAAqw5Fmb19gPBbGYT9ehqA8d2Cy1yz6eVsS/9WvswYGMKfU7pxZtYjrJnQhfHdgpHJ4H+Hoxm59AiJFShAvvlMLB9tDgfgnX7NGdzOr/QTY/6D73vogj+FNfT7HJ5eLYI/QaimHn/8cVxdXenevTvvv/8+O3fuJDe34r+vRQAolEthAkjZAaB+PdexqBQKNIV15QyFoG2qdwAIxaeBq8qx2+v/OgS5GUZtDl9LRq0xvjZf0S3gyjOFbagFmJlPVZUCPKKf/g02//Sv3rOddfsDH4lMMaxfNZfkrHwmrDpGrlpD9yb1mNbPuNWT9tZWhDby4P3HQlg6uiNONlYcjUrh8W/2c/ZGutH9OXItmam/nEKSYExoIC/2aFjyJK0WDnwFKx6F9BhwC4bx26HzC2K9nyBUY6mpqezatYt+/fpx9OhRnnjiCVxdXenatSvTp083uV0RAArlol+f1vwuCSB6LXyccbFTkq3ScO5WhuHxzHz9CGD1ngIG8DOsiauaALBAo+VUTBoAHQPdae7jhIeDNTkqDSej04xuTz8CWJ4MYAAPB2tslXIkCdJURt/OaLr1f7cTQBpVXgDo62LHwy3Mvz+wWqPlpZ9OcDMtlyAPe755tn2FSr481MKbPyZ3paGnA7HpeTy5+CB/no4t9/WX4jOZsOoYKo2Wvvd5M2PgfSUD/+xkWPMM7HgftAVw3xB4cR/UN30BuSAIVUOpVNK1a1feffddtm3bxuHDh3n22Wc5evQoc+bMMbldEQAK95Sr0hCVnA3cewRQLpdxf1DJbeH0I4DO1XwKGKp+e7QLsZnkqDQ421rRxMsRuVzGA7dHAfebMA18Q58AUo4MYNDVAtS/5uT8yh8JupKQRbJh/V/F9v+9F/3+wOtP3DDUoqyoD/46b8iwXTqmIy7lmGa/l8ZejmyY3JUHm3uRX6Dljd/O8keUvNgoemni0vMYu/woGXkFdAx048tn2pVco3v9EHzfHS5vA4UNPLZAV9/P1vTyEYIgVJ1Lly7xww8/MHz4cPz8/OjZsyfp6el88cUXnDhxwuR2RQAo3NOVhCwkSTdS5FnGvrJ6+mngI7cDQEmSyKohSSBwR1JEFdAXgG4f6GbYtq1bY93ImCnrAAuLQJdvBBAKRwtTqqAW9OHbu3+0b+CGjZXiHmdXzAONPGjo6UC2SsMfJ25UuL3/Hb7O/w5HI5PBl8+0pbGXaVnapXG2VbJkdEem9G4MwJ5YOc+vPklaTunDshl5asauOMqt9DwaejqwZHTH4ls0arXw7zxYOQAyboJHY5iwCzo+J6Z8BaEGad68Oe+//z4tW7bk77//JjExkT/++INXX321WFawsUQAKNzTxTjdVG55M1L1ZT3+i0qlQKMlT601bD/lWBNGAPV18apoCtiw/q9I1nS3Jp6ALjtYn0BTXjEp+hqAxgSAutecWgUjgIbp30oo/3In/f7AAKsPX0eSyt4GrSyHryUza+N5AN54pBkP3Z5eNieFXMYbfZvx1bDWWMslDlxN5vFvDhh+BvVUBVomrj7OxbhMPJ1s+HFcJ9wcrAtPyEqEn4bCrtkgaaD1MHhhL/i0MnufBUGoXK+88gp+fn7Mnj2biRMn8t5777F9+3Zycio2SyUCQOGeypsAotfC1xknWyuy8gsIj80wBDBymS4ztbqr6u3gThRJANHzc7UjuJ4DGq1kSJgoL/0IoP89toEryjACaHoSarlIkmQYGa6KABBgaAd/7JQKLsVn8eepW+SpNUa3EZOSw0s/naBAKzGwTX1e6tWoEnpaqF9LH15rqcHfzY7olByGfHuQv8/q1gVqtRJv/naag1eTcbBWsGLs/cWD/ch/YXE3uPoPWNnpyrs88T3YVOU+L4IgmMvChQs5ceIEcXFxTJs2DZVKxXvvvUe9evXo2rWrye2KAFC4J30CyL1KwOgp5DI6BxeuA8wokgFcVYWVK0I/ApiZV0B6rnGjb8a6mZZLbHoeCrmMtgGuxZ7rensa2Jh1gJl5atJydH02ZgRQ/5pTKnkE8GpiFklZKmys5LQJqNz1f3rOtkpDSZTXfjlF61nbeeLbA3y0KZy/z8YSn1H2vHeOqoAJq46Rkq2ipZ8zc4e2rpLvYz8HWD+xM10be5Cj0jDppxN8sS2Cz7Ze5M9Tt7CSy/huZAda+t3+Omo1sOczWPU4ZMVBvWbwwm5oP0pM+QpCLaDRaFCr1eTn55OXl0d+fj4REREmt1f95+MEi7to5AggQOdgD3ZeSODwtRQ63S71URPW/4GuRIe7gzUp2SpupubiYld5/T52u/7fffWdsbcu/uPYrXE9/nc42qgAUD/962avNKrkjn60MLmSRwD1u39Uxfq/ol59qAnpuSqORqaQlKXiZHQaJ6PTDEWT/Vzt6BDoRvsGrnQIdKe5rxNKhRxJknhj3WkuxmVSz9GaH0Z1xK4KR7Hd7K35cVwnPv37Ikv3R/LN7iuG5z4b2poeTXVLBciMh/XPQ+Q+3XHbkdB/LlhXUWVvQRAqzSuvvMKePXsIDw/Hzc2NHj16MGHCBHr16kWrVqYv6xABoFCmlGyVoTht03KOAEKRdYCRKYZF7NW9CHRRfq52ugAwLbfsfVQrSL//b4dAtxLPhTash0ymS8KJS8/Dx8X2nu0VrQFoDH0AmK7SlTlRVlLMW5Xr/4rycbHl2xEdkCSJ6JQcTkSncvx6KsevpxERl8HNtFxupuWy8fQtAOyUClr7u+Bip2R7eDxKhYzFIztQ37X80+rmYqWQM/2xEELqO/PO+rOoCrS82bcZQ/WFp6/uhvUTIDsRlPa6LN82z1R5PwVBqByxsbG88MIL9OrVi5YtW5qt3ZrziSxYhH7xeQN3exyMGFEKqe+Mk40VmfkFHLmd9VnTAsCzN9O5WcmlYI5F6QLAjoHuJZ5zsVfS2s+F0zfSOXAlqfADvwzG7AFclKejDTZWcvILtMRl5NHQ1vxb4BXf/7fk660KMpmMQA8HAj0ceKKd7uuZlV/A6Zg0TlxP5Xh0Kieup5KRV/h9C/DR4JZ0DLJMn/WGtPenbYAr0Sk59GzqCZoC2Psp7PsCkMDrPnhqJXg2tWg/BUEwr3Xr1lVKuzXnE1mwCGMTQPQUchn3B7vzz8UEdobHAzVnChgKR8QqMxM4K7/AEGB3DCo5AgjQrUk9owJAQxHoctYA1NPVArTlWlION1PzaOhl/vV5VxOzScrKv73+z9Xs7ZvK0caKro3rGXZg0WolriVlcfx6Kqdi0mnu48Sw+xtYuJc6DT0daejpCBm34Pfn4foB3RPtx0C/z0BZ9SOUgiBUvtWrV7N48WIiIyM5dOgQgYGBLFy4kODgYAYNGmRSmyIJRCiTPgBsbmQACIWjPJcTsoAaNgJYBbUAT0anopV0waa3c+nTu12LFIQuTwmTGybUANTTT2/eqKTXfCRSN/3broFr8Xp11YxcLqOxly7omzOkFWMeCLJ0l4q7vFOX5Xv9AFg7wtBl8PhXIvgThFrqu+++IywsjP79+5OWloZGo6tk4OrqysKFC01uVwSAQplMSQDRu3OdV40KAKugFIx+/V/HUtb/6bVv4IatUk5CZr4hkC6LKTUA9QyvuZJGPQunf6t2/V+toVHDjpm6+n45ybqafi/ug1ZPWrpngiBUoq+//polS5bw3nvvoVAU/vHcsWNHzp49a3K7IgAU7kqrlbgUb/oIYIivc7FMVEebmjMFbBgBrMQp4LISQPRslQrD1nr7L5edDSxJUpFdQIwfDfJ31Y1CVkbQW2z/XxEAGi/9hm5HjwMLdcf3T4DxO8GjcusRCoJgeZGRkbRrV3LfbhsbG7Kzs01u1+IB4KJFiwgKCsLW1pbOnTtz9OjRMs9PS0tj8uTJ+Pr6YmNjQ9OmTdmyZUsV9bZuuZmWS45Kg7WVnCAP48tJWCnk3F9kbVtNGgHUF0ZOzlaRozLPHrJFabQSJ6PTAOhQSgJIUd1uTwPfa1u4lGwVOSrd1ICfCQFg4bS3+feDi0zKJjEzH2sreYl6h8I9RPytm/KNOQI2zvDUjzDgC1DeOytcEISaLzg4mFOnTpV4fOvWrbRo0cLkdi36ifzLL78QFhbG4sWL6dy5MwsXLqRv375ERETg5eVV4nyVSsXDDz+Ml5cXv/32G35+fly/fh1XV9eq73wdoJ/+bezpiJXCtL8VujT0YHdEIgDONSgAdLFTGrKYb6XlmnXPV9BlV2flF+BkY3XP6XX9OsDD15J1JVru8l7E3B6t9Ha2ManGXmXugKKf/m0XUL3X/1UnMm0B8p3vw5HvdA/UbwdPrgD3YMt2TBCEKhUWFsbkyZPJy8tDkiSOHj3KmjVrmDNnDkuXLjW5XYt+Is+fP58JEyYwbtw4ABYvXszmzZtZvnw577zzTonzly9fTkpKCgcPHkR5u1BZUFBQVXa5Tom4naFqyvSvXuci0301KQsYdCNiF+MyuZFq/gBQP/3btoErCnnZuzSE+DobClOfjkm7azkSU0vA6NW/PQUcl5FPgUZrctBfGjH9a6S063S//BGKnGu64y4vQZ9ZYGX+8jyCIFRvzz//PHZ2dkyfPp2cnByGDx9O/fr1+fLLL3nmGdNrflosAFSpVBw/fpxp06YZHpPL5fTp04dDhw6Ves3GjRsJDQ1l8uTJ/Pnnn3h6ejJ8+HDefvvtYgsji8rPzyc/v3B7g8xM3aiWWq1Gra7cbb5qugu3dAFgI097k79WzTztcLBWkK3SYGtFsXb0/19d3wdfFxsuxmVyPSkLdcO7r9MzxdHbAVG7AJdyvf7QYHc2n4tjb0Q8bfxKD0avJ+mSRPxcbU36mrraylHIJDRaiEnOMmov4bIUXf93f2D5Xm9dJru4GatNL+OWn4Fk44Jm4NdIzfqDBIivXZWr7r+njKFWq5EkDVpt2fthS5LG8HqNOV//z9hrjOl/XTVixAhGjBhBTk4OWVlZpc6SGstiAWBSUhIajQZvb+9ij3t7e3Px4sVSr7l27Rr//PMPI0aMYMuWLVy5coWXXnoJtVrNzJkzS71mzpw5fPDBByUe37dvH+Hh4RV/IbXY8asKQEZG9EW2bLlgcjud68k5mSQj8eIxtlwr+fyOHTtM72QlKkiXA3L+PX4e1yTTM61KcyBC97UtiLvEli333svRKUcGKNh07CqN8y6Ves7Bq7r+5iXdZMuWGJP65W6jIDEPft+6hyYu9y47Ux4JuZCQaYVCJhF77jAV+Faq1eRaNffdWkvDRN3PQ4p9I44FTyb3KnBVrHO2tOr6e8oYmZmZXL0px9ah7BmNvOxMduRdBTDqfCcnJ6Pv4eRU/tmVpKTyb4tZW9nb22Nvb9osz51qzqIsQKvV4uXlxQ8//IBCoaBDhw7cvHmTzz///K4B4LRp0wgLCzMc37x5k5CQEHr06CGmj8uQX6Al7MguQGLEY73xLcc2ZHfT/y6Pq9VqduzYwcMPP2yY0q9Obu2P4t+4S9h61Kd//9Zmazc2PY/UQ/tQyGW8MOThcu2w0jo1l7Xz/yU6W073Bx8qNaHm15XHISGZXp1a0b+9n9H9UqvVfBu+i8Q8Gf7NWpvURml+OXYDToXTPtCdwQPvN0ubtU5qJIr1zyNPPA2A+v5J7FffT59H+lXLn426pLr/njJGSkoKkf9ew97JtczzcjLTeLh7QwCjznd3dzf6Hu7u5d9hJyoqqtzn1nTt27dn165duLm50a5dO2Syuy8VOnHihEn3sFgAWK9ePRQKBfHx8cUej4+Px8fHp9RrfH19USqVxaZ7W7RoQVxcHCqVCmtr6xLX2NjYYGNTuG4mI0M3ralUKmv8D3NlupyYgUYr4WxrRYCHY5nffBVVXd+LBh6OAMRm5Ju1f2du6ZJiWvg64epYvmnWYC8lgR72XE/O4eSNDB5q4V3iHH3yRlA9J5P76377RyUuU2W21/zf9TQAQhvVq5bvs8WdWw8bXwFVJti5wxOLIfhBpC1bqu3PRl1UG94LpVKJTKZALi87EUsmUxheqzHn6/8Ze40x/TfGd999x3fffWcIHO+77z5mzJhBv379AMjLy+P1119n7dq15Ofn07dvX7799ttiM5PR0dFMmjSJ3bt34+joyJgxY5gzZw5WVoXh0549ewgLC+P8+fMEBAQwffp0xo4dW6wvixYt4vPPPycuLo42bdrw9ddf06lTp7v2fdCgQYbYZdCgQZXyGWyxANDa2poOHTqwa9cuBg8eDOhG+Hbt2sWUKVNKvaZr1678/PPPaLVa5HLdAvVLly7h6+tbavAnmC4iXp8A4lypwV915mfYDs68+wHr9//t0MC4dYXdGtfjenI0+68klQgAtVrJEAAGGLkNXFHuNrppX3NtgVe8/p9l99KtdtR5sG0aHFuuO24QqtvVw8VPrPUTBDPw9/fn008/pUmTJkiSxI8//sigQYM4efIk9913H1OnTmXz5s2sW7cOFxcXpkyZwpAhQzhwQLfFokajYcCAAfj4+HDw4EFiY2MZPXo0SqWSTz75BNDV6BswYAATJ07kp59+YteuXTz//PP4+vrSt29fwPiKJ0CxWc1Zs2ZVytfHonUAw8LCWLJkCT/++CMXLlxg0qRJZGdnG7KCR48eXSxJZNKkSaSkpPDqq69y6dIlNm/ezCeffMLkyZMt9RJqrYrsAFJb6JMgEjLzURVozdauoQD0XbJ570ZfD7C0gtDxmXmoNRJWchm+LhUJAHX/NVfQez05h/iMfKwVctobGfDWaklXYGmfwuCvWxiM2aQL/gRBMIuBAwfSv39/mjRpQtOmTfn4449xdHTk8OHDpKens2zZMubPn8+DDz5Ihw4dWLFiBQcPHuTw4cMAbN++nfDwcP73v//Rtm1b+vXrx4cffsiiRYtQqVSArnpJcHAw8+bNo0WLFkyZMoUnn3ySBQsWGPpRtOJJSEgIixcvxt7enuXLl5frdTz//PPs2bPH7F8fiwaAw4YN44svvmDGjBm0bduWU6dOsXXrVsPwa3R0NLGxsYbzAwIC2LZtG//99x+tW7fmlVde4dVXXy21ZIxQMREiAMTDwRpbpRxJgth084yIZecXEB6rG10tawu40oQ28kAm0+2tHJ9RvFizfgu4+q529ywrUxZzjwDqR//aivp/hc78Ct/3gPizYF8PRv4OfWaCokYtyRYEi8nMzCQjI8Pwr2ilj7vRaDSsXbuW7OxsQkNDOX78OGq1mj59+hjOad68OQ0aNDBUIjl06BCtWrUqNiXct29fMjIyOH/+vOGcom3oz9G3oa94UvSce1U8uVNiYiKPPvooAQEBvPnmm5w+fbpc192LxX/jTJky5a5TvqVFvKGhoYboXKg8+gCwIjUAazqZTEZ9VzuuJWZzMzWXQBN2Q7nT6Zg0NFqJ+i621Hc1bqTO1d6aVn4unLmRzoErSQxp7294Tl8DsKKlW/QjgLHpeWapBSimf4tQ5cDfb8HJ1brjoO4wZAk4+1q2X4JQw4SEhBQ7njlz5l2nSc+ePUtoaCh5eXk4Ojryxx9/EBISwqlTp7C2ti6xkYS3tzdxcXEAxMXFlVqpRP9cWedkZGSQm5tLamqq0RVP7vTnn3+SmprKunXr+Pnnn5k/fz7NmzdnxIgRDB8+3OSEVotvBSdUP+m5amLTdSNMTetwAAiFW8KZa0TsmInTv3r6XUH237EtXOEewBUrD+BsDUqFDI1WIj7z3n9Vl0WSJI5E6nYAqfMFoBMuwpIHbwd/Muj5Noz+UwR/gmCC8PBw0tPTDf+KLhW7U7NmzTh16hRHjhxh0qRJjBkzpkaWgHNzc+OFF15gz549XL9+nbFjx7J69WoaN25scpsiABRKuBSvG/3zc7XDuYbt3mFufrdH6W6YaXs0fQBo7PSvXtF9gSWpsE6ffgq4IgkgAHIZhpI/N1Iqtg4wOiWH2PQ8lAoZ7ery+r+TP8GS3pB4ARy8dIFf73fhHlmSgiCUzsnJCWdnZ8O/opU+7mRtbU3jxo3p0KEDc+bMoU2bNnz55Zf4+PigUqlIS0srdn7RSiQ+Pj6lVirRP1fWOc7OztjZ2ZlU8aQsarWaY8eOceTIEaKiokqMLBrDrAFgbq759xAVqp5IACmkn1K9aYYRQK1W4qR+BNDEALBDoBs2VnLiM/K5kpBleNwwAuhe8QKh+j2BKzrqWXT9n511HQx28rPgj4nw50ugzoGGvWDSAWjY09I9E4Q6S6vVkp+fT4cOHVAqlezatcvwXEREBNHR0YSGhgK6JWdnz54lISHBcM6OHTtwdnY2TEOHhoYWa0N/jr6NohVPivZh165dhnPKY/fu3UyYMAFvb2/Gjh2Ls7MzmzZt4saNG8Z/EW4zyxrA/Px8vvnmG0ONG6Fm0+8B3NRbBID6EcCbaRXPir2UkElmfgEO1gqT11baKhV0Cnbn38tJ7L+SRJPb79ENwxrAigeAheVvKhoA1uHp3/jzsG4sJF0CmRx6vQvdw8SonyBUoWnTptGvXz8aNGhAZmYmP//8M3v27GHbtm24uLgwfvx4wsLCcHd3x9nZmZdffpnQ0FC6dOkCwCOPPEJISAijRo1i7ty5xMXFMX36dCZPnmwYdZw4cSLffPMNb731Fs899xz//PMPv/76K5s3bzb0IywsjDFjxtCxY0c6derEwoULi1U8uRc/Pz9SUlJ49NFH+eGHHxg4cGCZo57lVe4AMD8/n1mzZrFjxw6sra156623GDx4MCtWrOC9995DoVAwderUCndIsDyRAFLI30zBEBTW/2vbwLVCyRVdG9fj38tJHLiSxLiuwagKtMTezgqu6BQwFJn2rkApGEmSOGJIAKlDAaAkwYlVumSPgjxw8oWhSyGom6V7Jgh1TkJCAqNHjyY2NhYXFxdat27Ntm3bePjhhwFYsGABcrmcoUOHFisEradQKNi0aROTJk0iNDQUBwcHxowZw+zZsw3nBAcHs3nzZqZOncqXX36Jv78/S5cuNdQABF3Fk8TERGbMmEFcXBxt27YtVvHkXmbNmsVTTz1VImGlosodAM6YMYPvv/+ePn36cPDgQZ566inGjRvH4cOHmT9/Pk899VSxHTqEmkmSJDEFXIR+NCwuPQ+NVqpQiRVD/b/AimXE6tcBHr6WglqjJTY9F0kCW6UcT8eK/1Xo76pbA3izAuseY1JyuXV7/V+dqf+Xnwl/vQbnftMdN+4DT3wPDvUs2i1BqKuWLVtW5vO2trYsWrSIRYsW3fWcwMBAtmwpey/uXr16cfLkyTLPKaviyb1MmDABgCtXrnD16lV69OiBnZ0dkiRVaKOGcgeA69atY9WqVTz++OOcO3eO1q1bU1BQwOnTp+vsThG1UWx6Hpl5BVjJZTTydLR0dyzOy8kWK7mMAq1EfEae0aVbijp2XTclamoCiF6IrzNu9kpSc9ScuZFGrkpXpNrfzd4sP4v1zbAGUL/+r41/HVn/F3tGN+WbchVkCnjofXjgVZCLPDtBEComOTmZp59+mt27dyOTybh8+TINGzZk/PjxuLm5MW/ePJPaLfdvpxs3btChQwcAWrZsiY2NDVOnThXBXy2jn/5t6OmAtZX48FLIZfiaYUQsISOPmJRc5DJo18C1Qn2Sy2U8cHsU8N/LSUVKwFR8+hcKp71vpeWi0Ur3OLt0h+vK9K8kwX9Ldbt6pFwFZ38Y9zd0myqCP0EQzGLq1KkolUqio6Oxty9c5z1s2DC2bt1qcrvl/g2l0WiK7bdrZWWFo6MYIaptCqd/nS3ck+rD31VfC9D0NXH68i/NfJxxMkNpnaLlYPRFoM2RAQzg5WRTbNTTWHWm/l9eum7Ub/ProMmHpv1g4r/QoLOleyYIQi2yfft2PvvsM/z9/Ys93qRJE65fv25yu+WeApYkibFjxxoyT/Ly8pg4cSIODsV3R1i/fr3JnREsT58BLBJACvmZoRSMPgGkotO/evoA8GR0mqFWY0V3AdFTyHU7oESn5HAjNdfoae8bqbncTMvFSi6jfaCrWfpU7dw8Ab+Ng9QokFtBnw8gdDKIGRFBEMwsOzu72MifXkpKSoWygcsdAI4ZM6bY8ciRI02+qVB9GUYARQkYg8JSMKYHgMejbweAQeYJAAPc7Wngbk90Sg57LyXqHjNDCRg9fzddAKgrf2Nc0soh/fq/AFfsrS2+26R5SRIc+R62TwetGlwawFMrwL+jpXsmCEIt1b17d1atWsWHH34I6LYp1Wq1zJ07l969e5vcbrl/O69YscLkmwg1g1qj5VpiNiAygIuqaF28XJWG8zfTAdMLQJema+N6RB+NpuD2Oj1zTQFDkVIwKca/5iOG+n+1bP/f3FT4cwpc3KQ7bv4YDPoG7OpIlrMgCBYxd+5cHnroIY4dO4ZKpeKtt97i/PnzpKSkcODAAZPbFauUBYOopGxUGi0O1gqzTSfWBhXdDeT0jTQKtBLezjaGwMoc9NPAeuYdATR9D+RamQBy4xgs7qEL/hTW0G8uDPufCP4EQah0LVu25NKlS3Tr1o1BgwaRnZ3NkCFDOHnyJI0aNTK53Vo2PyNUhH76t6mPk8juLkKfBHIzLdekukvHDfv/upv16/pAIw9kMt2spJOtFS725tu32VAA28gdUK4kZBrW/5lztNNitFo4vAh2zgJtAbgFwVMroX47C3dMEIS6QK1W8+ijj7J48WLee+89s7YtRgAFA7EDSOl8XGyRySC/QEtSlsro649F6aZEzR0QuTlY07K+C2De0T8wbQeUPLWG1345Beimp2v8+r+cFFjzzO31fgVw3xPw4j4R/AmCUGWUSiVnzpyplLZFACgYiASQ0llbyfFx1tUCNLYUjFYrFY4AmikBpKiut6eBG5hx/R+A/+32bqXloi1nLcAPN4Vz7mYGbvZK5gxpZdb+VLnow7C4G1zeBgobGDAfnlwBti6W7pkgCHXMyJEj77mriSlq+J/ogjlFxOtKwIgagCX5udoRm57HzbRc2hmxtdmVxCwy8gqwUypo4Wv+r+vz3YNJzMxnzAOBZm3X28kGhVyGWiORkJmPj4ttmef/eeomPx2JRiaDBcPaVmjHFIvSauHAQvjnI5A04NFYN+XrU8MDWkEQaqyCggKWL1/Ozp076dChQ4nye/Pnzzep3XIFgBs3bix3g48//rhJHREsKyu/gJjbGZ9iCrikBh72HLueypqj0Twc4o2NVfm2N9OP/rUNcEWpMP+Aez1HG+Y93cbs7Vop5Pi62HIjNZcbqTllBoBXEjKZtv4sAC/3bkyvZl5m70+VyEqEP16Eq7t0x62ehsfmg434eRAEwXLOnTtH+/btAbh06VKx5yp9L+DBgweXqzGZTIZGozG5M4LlXIrXTf96Odng5mB9j7Prnue6BrP1XBwHriQT9stpvnq2HQr5vX/wDAWgK2H6t7L5u9ndDgBz6RhU+jnZ+QVM/N8JclQaujb24NU+Tau0j2YTtR9+Gw9ZcWBlB/3nQrtRorCzIAgWt3v37kppt1xDElqttlz/RPBXc0UYtoATox2laennwvejOqBUyNh8NpbpG84hSfdeG3f8euUkgFSFwlIwpa97lCSJ9/44y5WELLycbFg4rHxBcbWi1cDeufDjQF3wV68ZTPgH2o8WwZ8gCLWaSAIRAJEBXB7dm3iycFg7ZDJYczSaL7ZHlHl+YmY+Uck5yGQYtW6wurhXJvDPR6PZcOoWCrmMb4a3x9PJ9C2JLCIzHlY/Abs/BkkLbUfAC7vBO8TSPRMEQah0JiWBZGdns3fvXqKjo1GpipfFeOWVV8zSMaFqXYwTCSDlMaC1Lxl5rZi2/iyLdl/Fzd6a57s3LPVc/fq/pl5OuNiZr0ZfVSlrC7xzN9P5YGM4AG/1bUan4Bq268e1PfD7BMhOAKW9Lsu37bOW7pUgCEKVMToAPHnyJP379ycnJ4fs7Gzc3d1JSkrC3t4eLy8vEQDWQJIkiRFAIzzbqQGpOSrmbo3go80XcLZT8nTHgBLnGaZ/a+D6P7j7biDpOWom/XQclUZLnxbevNCj9AC4WtIUwN7PYN/ngAReIbosX89mlu6ZIAhClTJ6Cnjq1KkMHDiQ1NRU7OzsOHz4MNevX6dDhw588cUXldFHoZIlZuWTmqNGLoPGXo6W7k6NMKlnI0Pg887vZ9h2Pq7EOccMO4DU1ACwcAs8fS1ASZJ447fTxKTk4u9mx7yn2tScXWMyYmHV47BvLiBB+zG69X4i+BMEoZpp3749qam6z5DZs2eTk2NcDdryMDoAPHXqFK+//jpyuRyFQkF+fj4BAQHMnTuXd9991+wdFCqffvQvyMMBW2X5ypvUdTKZjGn9mvNUB3+0Erz880kOXk0yPJ+n1nDuZjqg2wKuJvJ1sUUhl6HSaEnMygdgyb/X2BEej7VCzncjOph1+7lKdXknLO4K1w+AtSMMWQqPfwXKGlqvUBCEWu3ChQtkZ2cD8MEHH5CVlWX2exg9BaxUKpHLdXGjl5cX0dHRtGjRAhcXF2JiYszeQaHyiQxg08hkMuYMaUV6rprt4fFM+PEYa17oQmt/V87eTEetkfB0siHAvWYGGVYK3Q4oN9N0tQCjU3L4bKsu8eX9gSG08q8Bu2JoCmD3R7B/ge7Yu5VuyrdeY4t2SxAEoSxt27Zl3LhxdOvWDUmS+OKLL3B0LH2GbsaMGSbdw+gAsF27dvz33380adKEnj17MmPGDJKSkli9ejUtW7Y0qROCZV0UAaDJrBRyvnq2Hc+t/I+DV5MZu+I/fn0xtLD+X6BbzZkiLYWfmx0303I5HZPO9/uuotFKDGpbn5GdG1i6a/eWfkNX2y/msO74/ufhkY9BWfauJoIgCJa2cuVKZs6cyaZNm5DJZPz9999YWZUM2WQyWdUFgJ988gmZmbqA4eOPP2b06NFMmjSJJk2asHz5cpM6IViWSACpGFulgh9Gd2T4ksOcuZHO6GVH8L69c0ZNrP9XlL+bHUcj4dO/L6LSaGns5cgnT7Sq/kFtxFbYMBFyU8HGWTfde98Tlu6VIAhCuTRr1oy1a9cCIJfL2bVrF15e5t1lyegAsGPHjob/9/LyYuvWrWbtkFC6XJWG5Ox8s7crSXA5QT8CKErAmMrRxoqV4zrx1OKDXE3M5lZ6HgAdg2rm+j89fSawSqPFTqnguxHtcbCpxluIF6hg1wdw6BvdsW9beGoFuNegTGVBEIQitFptpbRbjX+TC3qp2Sp6z9tDWo660u5hq5TTwN2+0tqvC9wdrFk9vjNPfneQW+l52FjJCfGt2UG1PhMY4JMhLWniXY1HiVOvw2/Pwc1juuPOk+DhD8CqhhWoFgRBuMPVq1dZuHAhFy5cACAkJIRXX32VRo0amdym0QFgcHBwmdM/165dM7kzQumOXU8lLUeNTAbWCvNv3iKTwfBOgTVvG69qqL6rHauf78zkn07Qo6kn1lY1e7Odnk09aejpQP+WvjzRzt/S3bm7C5vgz5cgLx1sXWDQt9DiMUv3ShAEocK2bdvG448/Ttu2benatSsABw4c4L777uOvv/7i4YcfNqldowPA1157rdixWq3m5MmTbN26lTfffNOkTghli7i9S8fgtn4sGNbWsp0R7qmRpyNbX+th6W6YhbezLf+83svS3bi7gnzYMQOOLNYd+3WEJ5eDW6Bl+yUIgmAm77zzDlOnTuXTTz8t8fjbb79ddQHgq6++WurjixYt4tixYyZ1QiibyNIVhFKkXIN14yD2lO44dAo8NBOsrC3aLUEQBHO6cOECv/76a4nHn3vuORYuXGhyu2abn+rXrx+///67uZoTihB1+gThDuf/gO976oI/Ozd49hfo+7EI/gRBqHU8PT05depUicdPnTpVocxgsyWB/Pbbb7i71+yMx+oov0DDtSRdNXBRpkWo89R5sO1dOLZMdxzQBZ5cBi7VeH2iIAhCBUyYMIEXXniBa9eu8cADDwC6NYCfffYZYWFhJrdrUiHookkgkiQRFxdHYmIi3377rckdEUp3NSEbjVbC2dYKH2dRwFaow5KuwLqxEH9Wd9wtDHq/C4oash2dIAiCCd5//32cnJyYN28e06ZNA6B+/frMmjWLV155xeR2jQ4ABw0aVCwAlMvleHp60qtXL5o3b25yR4TSRcTrEkCa+zhX/+K7glBZzqyDTa+BKgvs68GQ76FxH0v3ShAEodLJZDKmTp3K1KlTDRtxODlVfEbQ6ABw1qxZFb6pUH4iAUSo01Q5sPVtOLFKdxzYDYYuBWdfy/ZLEATBAswR+OkZnQSiUChISEgo8XhycjIKhcIsnRIKiQQQoc5KjIClD90O/mTQ820Y/acI/gRBEMzA6BFASZJKfTw/Px9ra5GBZ25in16hTjr1M2x+HdQ54OAFQ5dAw16W7pUgCEKtUe4A8KuvvgJ0c9FLly7F0dHR8JxGo2Hfvn1iDaCZpeeoib29p2xTEQAKdYEqGza/Aad/1h0H94QhS8DJ27L9EgRBqGXKHQAuWLAA0I0ALl68uNh0r7W1NUFBQSxevNj8PazDIuJ1o39+rnY424pMR6GWiw+HdWMg6RLI5NBrGnR/HeRiaYkgCHWTWq3m0UcfZfHixTRp0sSsbZc7AIyMjASgd+/erF+/Hjc3N7N2RChJvwWcWP8n1GqSpFvn9/dbUJAHTr66RI+gbpbumSAIgkUplUrOnDlTKW0bnQSye/duEfxVEZEBLNR6+ZmwfgL89You+Gv0EEzcL4I/QRCE20aOHMmyZcvM3q7RSSBDhw6lU6dOvP3228Uenzt3Lv/99x/r1q0zW+fqOkMGsLcIAIVaKPYM/DYOkq+ATAEPToeur4HcbDtUCoIg1HgFBQUsX76cnTt30qFDBxwcHIo9P3/+fJPaNToA3LdvX6m1APv168e8efNM6oRQkiRJhjWAYgRQqFUkSbeV29Z3QZMPzn7w5HJo0MXSPRMEQah2zp07R/v27QG4dOlSsecqskGE0QFgVlZWqeVelEolGRkZJndEKC42PY/MvAKs5DIaeTre+wJBqAny0uGvV+H8H7rjpo/C4O/AXuwjLgiCUJrdu3dXSrtGz7W0atWKX375pcTja9euJSQkxCydEgqnfxt6OmBtJabEhFrg1kn4vocu+JNbwSMfw7NrRfAnCIJQDleuXGHbtm3k5uYCd6/LXF5GjwC+//77DBkyhKtXr/Lggw8CsGvXLtasWSPW/5lRYQKIs4V7IggVJElw9AfYPh00KnBpAE+tAP+Olu6ZIAhCtZecnMzTTz/N7t27kclkXL58mYYNGzJ+/Hjc3NxMXn5n9NDSwIED2bBhA1euXOGll17i9ddf58aNG+zcuZPBgweb1AmhJH0JGLEDiFCj5abCLyN1JV40Kmj+GEzcJ4I/QRCEcpo6dSpKpZLo6Gjs7e0Njw8bNoytW7ea3K7RI4AAAwYMYMCAASUeP3fuHC1btjS5M0KhiyIDWKjpbhyDdeMgPRrkSnjkI+j8IlRg0bIgCEJds337drZt24a/v3+xx5s0acL169dNbrfCi8syMzP54Ycf6NSpE23atKlocwKg1mi5mpgFiAxgoQaSJDj4NSzvqwv+3IJg/HboMlEEf4IgCEbKzs4uNvKnl5KSgo2NjcntmhwA7tu3j9GjR+Pr68sXX3zBgw8+yOHDh03uiCVotBIxKTmW7kYJkUnZqDUSjjZW+LvZWbo7glB+OSmw5hndej9tAYQMhhf3gV97S/dMEAShRurevTurVq0yHMtkMrRaLXPnzqV3794mt2vUFHBcXBwrV65k2bJlZGRk8PTTT5Ofn8+GDRtqXAbwtcRMnli1A6VCzpF3H6pQLR1z00//NvV2rFb9EoQyRR+G38ZDxg1Q2MCjn0DH8WLUTxAEoQLmzp3LQw89xLFjx1CpVLz11lucP3+elJQUDhw4YHK75R4BHDhwIM2aNePMmTMsXLiQW7du8fXXX5t8Y0vzc7UnT60lITPfEHBVF4V7AIsMYKEG0Grh3/mwor8u+HNvBM/vhPufF8GfIAhCBbVs2ZJLly7RrVs3Bg0aRHZ2NkOGDOHkyZM0atTI5HbLPQL4999/88orrzBp0iSaNGli8g2rCxulgi4N3dkdkci+S4m08K0+wZa+BqDIABaqvewk+ONFuLJTd9zqKXhsAdiI711BEARzcXFx4b333jNrm+UeAdy/fz+ZmZl06NCBzp07880335CUlGTWzlS1Hk09Adh7KdHCPSmusAag+BAVqrGoA7C4my74s7KFx7+GIUtE8CcIgmBmqampfPHFF4wfP57x48czb948UlJSKtRmuQPALl26sGTJEmJjY3nxxRdZu3Yt9evXR6vVsmPHDjIzq9c0ann0vB0AHotKJUdVYOHe6GTlF3AjVVflW4wACtWSVgN7P4cfH4PMWKjXFCbshvajxZSvIAiCme3bt4+goCC++uorUlNTSU1N5auvviI4OJh9+/aZ3K7RWcAODg4899xz7N+/n7Nnz/L666/z6aef4uXlxeOPP25yRywhuJ4D/m52qDRaDl9LtnR3gMLpX29nG1ztS+65LAgWlRkPq5+A3R+BpIU2w+GFPeBds5LABEEQaorJkyczbNgwIiMjWb9+PevXr+fatWs888wzTJ482eR2K1QHsFmzZsydO5cbN26wZs2aijRlETKZrHAaOKJ6TANHiC3ghOrq2h7dlG/kXlDaw+Dv4InvwNrB0j0TBEGota5cucLrr7+OQqEwPKZQKAgLC+PKlSsmt1vhQtD6jgwePJiNGzeao7kq1aOJLgDcd7l6rGcUW8AJ1Y5WA7s/gVWDITsBvEJ0U75th1u6Z4IgCLVe+/btuXDhQonHL1y4UKENOEzaCq42eaCxB1ZyGZFJ2cSk5BDgXrLadlUSW8AJ1UpGLPz+PFzfrztuPxoe/QysLftzIgiCUJudOXPG8P+vvPIKr776KleuXKFLly4AHD58mEWLFvHpp5+afI86HwA62ypp38CNo1Ep7L2UyMgugRbriyRJRMSLDGChmriyE9a/CDlJYO0Ijy2E1k9ZuleCINym1WpJS0u753murq7I5WaZ8BOqSNu2bZHJZEiSZHjsrbfeKnHe8OHDGTZsmEn3qBYB4KJFi/j888+Ji4ujTZs2fP3113Tq1Ome161du5Znn32WQYMGsWHDBpPv36NpvWoRACZk5pOWo0Yhl9HYy9Fi/RDqOG0B7PwY9i/QHXu3gqdWQr3GFu2WIAjFpaWlMX/TSWwd7j5gkJedSdhj7XB3d6/CngkVFRkZWen3sHgA+MsvvxAWFsbixYvp3LkzCxcupG/fvkRERODl5XXX66KionjjjTfo3r17hfvQs6kXX2y/xKGryag1WpQKy/ylpJ/+DfKwx1apuMfZgmB+tqpkFKsHwY0jugc6joe+n4DS1rIdEwShVLYOTjg4u1q6G4KZBQZW/mCUxQPA+fPnM2HCBMaNGwfA4sWL2bx5M8uXL+edd94p9RqNRsOIESP44IMP+Pfff8s1BF6W++o74+FgTXK2ihPXU+nc0KNC7ZmqcAs4Mf0rVD3Z5e30vjgduSYbbJxh4JfQcoiluyUIglDn3bp1i/3795OQkIBWqy323CuvvGJSmxYNAFUqFcePH2fatGmGx+RyOX369OHQoUN3vW727Nl4eXkxfvx4/v333zLvkZ+fT35+vuFYX7BarVajVqsNjz/QyJ2/zsSx+2I87QMsU4Llwq10ABp7OhTrW22lf4114bVWaxo18j0fYXV4ke7QuzXaocvALRjEe2MR4mej+qjO74VarUaSNGi1mrueI0kaw+ddec4veo3+/8t7vin3MObrWh3fg6qwcuVKXnzxRaytrfHw8EBWpOC+TCarmQFgUlISGo0Gb2/vYo97e3tz8eLFUq/Zv38/y5Yt49SpU+W6x5w5c/jggw9KPL5v3z7Cw8MNxy45MkDBpuPXaKG+XO7XYE7/XVYAMrJuXGLLlgiL9MESduzYYeku1Fl2qiQ6Ri7CPecqAFc9HyHcZxjaQxeAkmUHhKolfjaqj+r4XmRmZnL1pvyeawB35F3FycmpXOcXvQYw6nxT7uHkVP4ZL2O3n50zZw7r16/n4sWL2NnZ8cADD/DZZ5/RrFmzwn7k5fH666+zdu1a8vPz6du3L99++22xuCQ6OppJkyaxe/duHB0dGTNmDHPmzMHKqjCE2rNnD2FhYZw/f56AgACmT5/O2LFji/XH1HyH999/nxkzZjBt2jSzJvNYfArYGJmZmYwaNYolS5ZQr169cl0zbdo0wsLCDMc3b94kJCSEHj16EBQUZHi8U1Y+//tsLzeyZXTu8RAejjbm7n6ZCjRa3vzvH0DL8P49CfSo/WU21Go1O3bs4OGHH0apVFq6O3WOLGILik0fIMtLR7J1QfXofM5dV4r3oxoQPxvVR3V+L1JSUoj89xr2Tq53PScnM42HuzfE3d29XOcXvQYw6nxT7mFMckpUVFS5zwXYu3cvkydP5v7776egoIB3332XRx55hPDwcBwcdAXsp06dyubNm1m3bh0uLi5MmTKFIUOGcODAAUC35GzAgAH4+Phw8OBBYmNjGT16NEqlkk8++QTQJWwMGDCAiRMn8tNPP7Fr1y6ef/55fH196du3L2B6vgNATk4OzzzzjNkzuS0aANarVw+FQkF8fHyxx+Pj4/Hx8Slx/tWrV4mKimLgwIGGx/Rz4VZWVkRERNCoUaNi19jY2GBjUxjMZWTo1tkplcpiP8y+bkpCfJ0Jj83gcFQ6g9v5VfwFGuF6ahaqAi12SgUNvZyRy+vOnqp3vhdCJSvIhx0z4ch3umO/DsieXIHcsT5c3yLej2pEvBfVR3V8L5RKJTKZArn87kmDMpnC0PfynF/0Gv3/l/d8U+5hzNfU2K//1q1bix2vXLkSLy8vjh8/To8ePUhPT2fZsmX8/PPPPPjggwCsWLGCFi1acPjwYbp06cL27dsJDw9n586deHt707ZtWz788EPefvttZs2ahbW1NYsXLyY4OJh58+YB0KJFC/bv38+CBQsMAaAp+Q5648ePZ926dfc8z1gWLQxkbW1Nhw4d2LVrl+ExrVbLrl27CA0NLXF+8+bNOXv2LKdOnTL8e/zxx+nduzenTp0iICCgQv0xbAt3qeq3hdNvAdfU27FOBX9CFUuJhGWPFAZ/oVNg3FZws1z5I0EQBGNkZmaSkZFh+Fd0nX9Z0tN16+z1o47Hjx9HrVbTp08fwznNmzenQYMGhjyEQ4cO0apVq2JTwn379iUjI4Pz588bzinahv4cfRv6fIei55Qn30Fvzpw57N27l169evHyyy8TFhZW7J+pLD4FHBYWxpgxY+jYsSOdOnVi4cKFZGdnG6Lk0aNH4+fnx5w5c7C1taVly5bFrnd1dQUo8bgpejb1ZPHeq/x7ORGtVqrSQExkAAuV7vwG2Pgy5GeAnZtuL99m/SzdK0EQBKOEhIQUO545cyazZs0q8xqtVstrr71G165dDfFCXFwc1tbWhjhCz9vbm7i4OMM5peUp6J8r65yMjAxyc3NJTU01Ot+hqDlz5rBt2zbD2sU7k0BMZfEAcNiwYSQmJjJjxgzi4uJo27YtW7duNXyhoqOjq6yCeYdANxysFSRlqQiPzaCln0uV3BeKbAHnY5kMZKEWU+fB9vfgv6W644DO8ORycPG3bL8EQRBMEB4ejp9f4TKtosu87mby5MmcO3eO/fv3V2bXKsW8efNYvnx5iaSSirJ4AAgwZcoUpkyZUupze/bsKfPalStXmq0f1lZyQht5sPNCAvsuJ1ZpAKjfAq65GAEUzCn5KqwbA3FndcfdpkLv90BRvdYyCYIglJeTkxPOzuUfLJkyZQqbNm1i3759+PsX/uHr4+ODSqUiLS2t2Chg0TwEHx8fjh49Wqw9fd5C0XNKy2VwdnbGzs4OhUJhVL7DnWxsbOjatWu5X295ic0B79BTvw4wourWAeaoCohOyQHEFLBgRmd/g+976II/ew8Y8Tv0mSWCP0EQ6gRJkpgyZQp//PEH//zzD8HBwcWe79ChA0qlslgeQkREBNHR0YY8hNDQUM6ePUtCQoLhnB07duDs7GyYig4NDS3Whv4cfRvG5jvc6dVXX+Xrr7828tXfW7UYAaxO9Ikgx6+nkpVfgKNN5X+JLsdnIUlQz9GaelVcfkaohdS58PfbcOJH3XFgVxi6FJzrW7ZfgiAIVWjy5Mn8/PPP/Pnnnzg5ORnW7Lm4uGBnZ4eLiwvjx48nLCwMd3d3nJ2defnllwkNDaVLly4APPLII4SEhDBq1Cjmzp1LXFwc06dPZ/LkyYap54kTJ/LNN9/w1ltv8dxzz/HPP//w66+/snnzZkNf7pXvUJajR4/yzz//sGnTJu67774S2dDr16836esjAsA7BHo4EOhhz/XkHA5dTebhEO97X1RBEYb1f2L0T6igxEu6Kd+EcEAGPd6Enm+DQvyoC4JQt3z3na7aQa9evYo9vmLFCsN6ugULFiCXyxk6dGixQtB6CoWCTZs2MWnSJEJDQ3FwcGDMmDHMnj3bcE5wcDCbN29m6tSpfPnll/j7+7N06VJDCRi4d75DWVxdXRkyxPzbcopPhVL0bOrJqkPX2XspoUoCQEMCiLdIABEq4NQa2BwG6hxw8IIhP0Cj3pbulSAIgkVIknTPc2xtbVm0aBGLFi266zmBgYFs2bKlzHZ69erFyZMnyzynrHyHsqxYscLoa8pDrAEsRY8mumngfZeM23bGVBHxuhIwIgFEMIkqGza8BBsm6oK/4B4wcb8I/gRBEIS7EiOApQht5IFSISM6JYeopGyC6jlU6v3EFLBgsvhwWDcWkiJAJode06D763CPKvyCIAhCzRAcHFxmvb9r166Z1K4IAEvhYGNFh0A3Dl9LYd/lxEoNAJOy8knKUiGTQVNvEQAK5SRJcHI1bHkLCnLB0UeX6BHc3dI9EwRBEMzotddeK3asVqs5efIkW7du5c033zS5XREA3kXPpl4cvpbC3ohERocGVdp99KN/ge722FmLURuhHPIzYVMYnP1Vd9zoQXjiB3D0tGy/BEEQBLN79dVXS3180aJFHDt2zOR2xRrAu+jRtB4Ah64loyrQVtp9LorpX8EYcWfhh1664E+mgIdm6ur7ieBPEAShTunXrx+///67ydeLAPAuWvg4U8/RhhyVhmPXUyrtPoV7AIsMYKEMkgT/LYMlD0HyFXD2g7GboXsYVNFWiYIgCEL18dtvv+Hu7m7y9WIK+C7kchk9mtZj/Ymb7L2UyAON6lXKffRTwCIDWLirvAz46xU4/4fuuElfGPwdOHhYtl+CIAhCpWvXrl2xJBBJkoiLiyMxMbFYzUJjiQCwDD2berL+xE32XUpiWj/zt6/VSlyKzwLEFLBwF7dOwrpxkBoJcivdVm5dJotRP0EQhDpi8ODBxY7lcjmenp706tWL5s2bm9yuCADL0K1xPWQyuBCbQUJmHl5OtmZtPzolh1y1BmsrOUEelVtqRqhhJAmO/gDbp4NGBS4N4MnlEHC/pXsmCIIgVKGZM2dWSrtiGKEMHo42tPJzAeDfSigKrU8AaeLliEJ+9xo/wv/bu/f4Huv/j+OPz85HtjV2cJbTZJmIL3KqZSoiKUkiIl/0lVMOlYlyCimJkPj+vqRvDvsWUkvOpMj6JudTkm0RMxvbPtvn+v3x+e5TY2bnzw7P++32ud1c1+d9Xdfrs/cOT9f7ut5XOXP9MnzyDHzxsjX8NegMg7cr/ImISKFRALyNzKeCbDt2odD3rQmg5Sbn9sMHbeHIenBwhk4zoOe/wN3X3pWJiEgxcnBwwNHRMceXk1P+B3I1BHwbbetV4r0tJ9h54iIWi4FDIZ6p0yPgxMYwYM98+DoSLOngWxN6fARV7rF3ZSIiYgfr1q275Xt79uzh3XffxWLJ/zR1CoC30aS6D16uTlxKTuPg+SvcXdWn0Pb95xyAmgKmXLt2yfos32NfWJcbdoVH54FbRfvWJSLFxmKxkJCQkKu2Pj4+OOhGsDKva9euN607evQo48aN4/PPP6d3795Mnjw53/tXALwNZ0cHWte5gy9/jmf7sQuFFgBTzBmcuZgM6AxguXZ2L6zuD4nnwNEVOk2FZgMgh+c+ikjZk5CQwJz1B3DzzPnvQUryVUZ2blKg+d+k9Dl//jyRkZEsX76ciIgIYmJiaNSoUYH2qf9C5ELbeoV/HeCJ35OwGODj4Uxlb9dC26+UEhYL7HwbPnrIGv787oTnv4Z7n1f4Eymn3Dy98azgk+PrdgFRypYrV64wduxY6tSpw88//8zmzZv5/PPPCxz+QGcAcyXzRpAfziaQmGKmgptzgfdpG/4N8M4ywaOUA8kXYd1gOBFtXW7UA7rMBVf9YhcREauZM2cyY8YMAgMD+fjjj7MdEi4IBcBcqObnQe1Knpy6kMzuE3/QqVFggfeZ+Qg4Df+WM2d2wZoBcDUWnNzgoRlwT1+d9RMRkSzGjRuHu7s7derUYfny5SxfvjzbdmvXrs3X/hUAc6lt3UqcupDMtmMXCiUA6gaQcsaSATvmwNapYFjAvx48sQwC7rJ3ZSIiUgI9++yzRTpCqACYS+3qVWLZ7jNsP3YBwzAK3CmaA7AcSfod1g6EU1uty417wcOzwNXLrmWJiEjJtWzZsiLdvwJgLrWo7YeLkwO/JVzn1MVk7qyU/z/el5PT+P1qKqAAWOad2mYNf0nx4OxhDX5Netu7KhERKed0F3Auebg40bym9bb77QW8Gzhz+LeqrztersrgZZIlA7ZMhX92tYa/SiEwcIvCn4iIlAgKgHnQtp4/UPDpYHQDSBmXGGsNfttmAAY06QMDv4HKDexdmYiICKAAmCeZ8wF+e+oPUswZ+d7P0Xhd/1dmndgMC++DMzvA2RO6L4au74GLh70rExERsVEAzIP6Ad4EVHAlxWxh35nL+d6P7gAugzLS4evX4V/d4dpFCAiFF7bD3U/auzIREZGbKADmgclksk0Kve3Y7/nah8VicOx/AVBDwGXEld9geWfYOce63Kw/PB8N/nXsW5eIiMgtKADmUeYw8PZjF/O1/W8J10lOy8DZ0UQtf8/CLE3s4dhX1iHfs3vAxRt6fASd3wZnd3tXJiIicku6BTWP7qvjj4PJeh1f3JUUAiu65Wn7zPn/7qzkhbOj8neplWGGzZNh97vW5aDG1vB3x532rUtERCQXlEDyyNfThbur+gCw/Xje7wbOvAFEw7+lWMJZ+OihP8Nf8xdgQLTCn4iIlBoKgPmQOQycn+lgdANIKXdkAyxsA+e+B9eK8OT/wcMzwcnV3pWJiIjkmgJgPrT7XwDcefwiGRYjT9tqDsBSKj0NvhgHq56GlASo0hQGb4eGj9q7MhERkTxTAMyHxlUrUsHNiSvXzew99Ueut0tLt3DqQjIA9RQAS49Lp2FpR9i7wLrcchg8twl8a9q1LBERkfzSTSD54OToQMRdgXy6/xwj/h1D1NDWBFW8/V2fJy8kkW4x8HZzIjiPN4+InfwcBZ+9CKmJ4OYDjy2E+g/ZuyoRkTLBYrGQkJCQ67ZSeBQA8+m1Lg358VwCx+KT6L9sH58Obnnb5/pm3gFcP8Abk8lUHGVKfplT4KtX4Psl1uVqLeDxD8Gnmn3rEhEpQxISEpiz/gBunjmPiqUkX+XxUL9iqqp80BBwPlVwc2Zpv3vx93LlcGwiL678gfSMnP938ucNIBr+LdH+OAkfPvhn+Gv9EvTboPAnIlIE3Dy98azgk+PrdgFR8k4BsACq+nqwpG8z3Jwd2HL0ApPXH8Iwbn1TiG4AKQV+Wg0ftIW4/4LHHdB7NTz4Ojg627syERGRQqMAWEBh1XyY2zMMkwn+uecXPtp15pZtj2oKmJLLfB0+Hw5rBkBaElRvBYN3Qt0H7V2ZiIhIoVMALASdGgUx/qEGAEzZcIjoQ/E3tbly3cz5KymA9RpAKUEuHIPFD8D+ZYAJ2o6Bvp9DhWB7VyYiIlIkFAALycA2tXm6RXUMA/7x8QF+Oncly/vH/vcEkKCKblT00HBiifHjKljUHn7/GTwrQZ+1cP+r4Kj7o0REpOxSACwkJpOJ1x+9izZ1/bluzmDA8u85n3Dd9r5uAClh0pIhaiisewHMyVCrrXXI98777V2ZiIhIkVMALETOjg7M730P9QO8+f1qKv2XfU9Sajrw5w0gCoAlwO+HYfH9EPMvMDlA+wnQJwq8A+1dmYiISLFQACxkFdyc+bBfM/y9XDkSd5Vh/5seJvMGEN0BbEeGAT/8HyzqABeOgFcgPPsZtB8LDo72rk5ERKTYKAAWgaq+Hnz4v+lhth69wKTPf/7LJNC6A9guUpNg7SD4bBikX7cO9Q7eCbXa2LsyERGRYqcAWEQaV/Nhbs8mmEzwr2/PkpiSjqODiTsre9q7tPIn7idY1A5++jeYHOGBidB7DXhVsndlIiIidqEAWIQ6NQpkwkMhtuXa/p64OmmosdgYBuxbap3i5Y8T4B1sfaJHm1HgoG99EREpvzTXRRF7vk0tzvyRzIq9Z2lW09fe5ZQfKYnWiZ1/XmtdrtsRui0EzzvsW5eIlAsWi4WEhIRctfXx8SnSWkSyowBYxEwmE1O6NuKR0CAaVa1o73LKh/Mx8Gk/uHwaHJzggUhoOUxn/USk2CQkJDBn/YHbPsM2JfkqIzs3KaaqRP6kAFgMHBxMtKrjb+8yyj7DgO8Ww1evQEYaVKwGPZZCteb2rkxEyiE3T288K/jYuwyRbCkAStlwPcF6h+/hz63L9R+Bru+Bh59dyxIRESmJFACl9Du3H1b3g4Sz4OAMHadAi8FgMtm7MhERkRJJAVBKL8OAb9+H6EiwmMGnBjzxEVRpau/KRERESjQFQCmdrl2CqCFw7Avrcsij8Og8cPexa1kiIiKlgQKglD5n98Lq/pB4DhxdIGIq3Pu8hnxFRERySQFQSg+LBXa/C5sng5EBfrXhiWUQ1NjelYmIiJQqCoBSOiRfhHWD4US0dbnR49B5Lrjp2coiIiJ5pQAoJd8vu61DvldjwckNHpoB9/TVkK+IiEg+KQBKyWWxwM7ZsGUqGBa4o651yDewkb0rExERKdUUAKVkSvod1g6CU1usy3c/BY/MBlcv+9YlIiJSBigASslzahusHQhJ8eDkDo/MgrDeGvIVEREpJAqAUnJYMmDbTNg2AzCgUoh1yLdyA3tXJiIiUqY42LsAgPnz51OzZk3c3Nxo0aIF33333S3bLl68mDZt2uDr64uvry/h4eE5tpdS4moc/LMrbJsOGNDkGRj4jcKfiIhIEbB7APzkk08YOXIkkZGR/PDDDzRu3JiIiAh+//33bNtv3bqVXr16sWXLFvbs2UO1atXo2LEjv/32WzFXLoXFdGoLLGgNZ3aAsyc8tgi6zgcXD3uXJiIiUibZPQDOmTOHgQMH8txzz9GwYUMWLlyIh4cHS5cuzbb9ihUrGDJkCGFhYTRo0IAlS5ZgsVjYvHlzMVcuBWZJJ+T8pzh+/CRcuwgBjeCFbdC4p70rExGRMmD79u106dKF4OBgTCYTUVFRWd43DIOJEycSFBSEu7s74eHhHD9+PEubS5cu0bt3bypUqICPjw8DBgwgKSkpS5v//ve/tGnTBjc3N6pVq8bMmTNvquXTTz+lQYMGuLm5ERoaysaNGwv98+aFXa8BTEtLY//+/YwfP962zsHBgfDwcPbs2ZOrfVy7dg2z2Yyfn1+276emppKammpbvnr1KgBmsxmz2VyA6qVAEs/jsG4g9eL3ApDRpC+WB98AZ3dQv9hF5s+Dfi7sT31RcuS3L8xmM4aRgcWSkWM7w8iw7Tsv7TNft9smr+2Lo6b8HiM9Pe83AiYnJ9O4cWP69+9P9+7db3p/5syZvPvuuyxfvpxatWrx2muvERERwaFDh3BzcwOgd+/exMbGEh0djdls5rnnnmPQoEGsXLkSgMTERDp27Eh4eDgLFy7kp59+on///vj4+DBo0CAAdu/eTa9evZg2bRqdO3dm5cqVdOvWjR9++IFGjewztZnJMAzDLkcGzp8/T5UqVdi9ezctW7a0rX/55ZfZtm0be/fuve0+hgwZwpdffsnPP/9s66y/mjRpEq+//vpN65csWYK/v3/BPoDkS+UrP3LPLx/gmpGE2cGNmOr9Oe/7N3uXJSJSaK5evcrXvzng5umdY7uU5KuEV7EA5Km9t7d3ro6R1/bFUVN+j3GP+0WGDx/Or7/+StWqVXNsnx2TycS6devo1q0bYD37FxwczKhRoxg9ejQAV65cISAggGXLlvHUU09x+PBhGjZsyPfff0+zZs0A2LRpEw8//DDnzp0jODiYBQsW8MorrxAXF4eLiwsA48aNIyoqiiNHjgDQs2dPkpOTWb9+va2ev/3tb4SFhbFw4cI8f5bCUKrvAp4+fTqrVq1i69at2YY/gPHjxzNy5Ejb8m+//UbDhg1p27YtNWvWLKZKBYAMMw5b38Tx1HsAWAJC2XbHs7Tq/Axhzs52Lk7MZjPR0dE8+OCDOKs/7Ep9UXLkty8uXbrE6R2n8PD2ybHdtasJPNimNkCe2vv5+eXqGHltXxw15fcYLWvUBazhOjEx0faeq6srrq6uOW6fndOnTxMXF0d4eLhtXcWKFWnRogV79uzhqaeeYs+ePfj4+NjCH0B4eDgODg7s3buXxx57jD179tC2bVtb+AOIiIhgxowZXL58GV9fX/bs2ZMli2S2uXFIujjZNQD6+/vj6OhIfHx8lvXx8fEEBgbmuO2sWbOYPn06X3/9NXffffct2934jZH5TePs7KxfrMUp4Vfr49zO/e+O7eaDyOgQSfJXm9UXJYz6o+RQX5Qcee0LZ2dnTCZHHBwcc2xnMjna9puX9pmv222T1/bFUVN+j+HkZI0sDRs2zPJeZGQkkyZNynH77MTFxQEQEBCQZX1AQIDtvbi4OCpXrpzlfScnJ/z8/LK0qVWr1k37yHzP19eXuLi4HI9jD3YNgC4uLjRt2pTNmzfbTslm3tAxbNiwW243c+ZM3nzzTb788sssqVxKqCMbIervkJIArhWh6zxo2FXX+omISJ4dOnSIKlWq2Jbzc/ZPSsAQ8MiRI+nbty/NmjWjefPmzJ07l+TkZJ577jkAnn32WapUqcK0adMAmDFjBhMnTmTlypXUrFnTlp69vLzw8tJjwkqU9DT4OhK+fd+6HHwPPPER+Na0a1kiIlJ6eXt7U6FChQLvJ3OkMT4+nqCgINv6+Ph4wsLCbG1unJYuPT2dS5cu2bYPDAzMdiTzr8e4VZvbjXYWJbtPA9OzZ09mzZrFxIkTCQsLIyYmhk2bNtlOlZ49e5bY2Fhb+wULFpCWlkaPHj0ICgqyvWbNmmWvjyDZuXwGlkb8Gf7+NhT6f6nwJyIiJUKtWrUIDAzMMo1cYmIie/futd2Y2rJlSxISEti/f7+tzTfffIPFYqFFixa2Ntu3b89yp3h0dDT169fH19fX1ubG6eqio6Oz3ABb3Ox+BhBg2LBhtxzy3bp1a5blM2fOFH1BUjCH/gP/eRFSr4CbD3RbAA0etndVIiJSziQlJXHixAnb8unTp4mJicHPz4/q1avz0ksv8cYbb1C3bl3bNDDBwcG2y9JCQkLo1KkTAwcOZOHChZjNZoYNG8ZTTz1FcHAwAE8//TSvv/46AwYMYOzYsRw8eJB33nmHt99+23bc4cOH065dO2bPns0jjzzCqlWr2LdvH4sWLSrWr8dflYgAKGWEOQW+ehW+X2xdrtoceiwFn2r2rUtERMqlffv20aFDB9ty5p24ffv2ZdmyZbz88sskJyczaNAgEhISuO+++9i0aVOWmUVWrFjBsGHDeOCBB3BwcODxxx/n3Xfftb1fsWJFvvrqK4YOHUrTpk3x9/dn4sSJtjkAAVq1asXKlSt59dVXmTBhAnXr1iUqKspucwCCAqAUlj9Owqf9IO6/1uXWw+H+18BRdzCKiIh9tG/fnpymOzaZTEyePJnJkyffso2fn59t0udbufvuu9mxY0eObZ544gmeeOKJnAsuRgqAUnA/rYbPX4K0q+DuB499APU62rsqERERuQUFQMk/83XYNA72L7MuV28Fjy+BilVy3ExEpDSxWCxcunQpV/MA+vj44OBg9/srRW5LAVDy5+Jx65Bv/EHABG1GQfvx4KhvKREpW5KTk3nnix9v+7SKlOSrjOzc5JbPphcpSfTXWvLux09g/QgwJ4NnJei+CO68395ViYgUGXcvbzwr+Ni7DJFCowAouZd2DTaOgZh/WZdrtrEO+XrbbyJLERERyTsFQMmd3w9bh3wvHAFM0H4ctB0Dt3l+o4iIiJQ8CoCSM8OAmBWwYTSkXwevAOtZv1pt7V2ZiIiI5JMCoNxaahJsGAn//cS6XLsDdF8MXpXsW5eIiIgUiAKgZC/uoHXI94/jYHKADq/AfSNB0xuIiIiUegqAkpVhWOf1+2IsZKSCdzD0+BBqtLJ3ZSIiIlJIFADlTymJsP4lOLjGulznQetTPTzvsGtZIiIiUrgUAMUq9kfrkO+lU2ByhPBIaPmihnxFpMyxWCwkJCTkqq2np2fRFiNiJwqA5Z1hwPdL4MsJkJEGFatBj6VQrbm9KxMRKRIJCQnMWX8AN0/vHNulJF/lxYhGxVSVSPFSACzPrifAZy/C4c+sy/Ufhq7zwUOPMRKRss3NU0/2kPJNAbC8+m0/fPocJPwCDs7w4GT429/BZLJ3ZSIiIlLEFADLG8OAbxdA9ESwmMGnBjzxEVRpau/KREREpJgoAJYn1y7Bf4bC0Y3W5ZBH4dF54O5j17JERESkeCkAlhe/fger+8OVX8HRBSKmwr3Pa8hXRESkHFIALOssFtgzDzZPBks6+NaCJ5ZBcJi9KxMRERE7UQAsy5L/gKjBcPwr6/Jd3aHLO+BWwb51iYiIiF0pAJZVv+yG1QPg6nlwdIWHZkDTfhryFREREQXAMsdigZ1zYMtUMDLgjrrWId9ATWYqIiIiVgqAZUnSBVg7EE5tsS7f3RMemQOuXvatS0REREoUBcCy4vR2WPM8JMWDkzs8MgvCemvIV0RERG6iAFjaWTJg+1uwbQYYFqjUwDrkWznE3pWJiIhICaUAWJpdjbMO+Z7ebl0OewYengkunvatS0REREo0BcDS6uQ3sHYQJF8AZ0/oPAcaP2XvqkRERKQUUAAsbTLSYes02DEbMKDyXdYh30r17F2ZiIiIlBIKgKXJld+sN3qc3W1dbvocdJoGzu72rUtERERKFQXA0uJ4tHXI9/olcPGGLnMhtIe9qxIREZFSSAGwpMswwzdTYNc71uXAu61DvnfcadeyREREpPRSACzJEn6F1f3h3HfW5XsHQsc3wNnNvnWJiJQgFouFhISE27bz8fHBwcGh6AsSKQUUAEuqIxsh6u+QkgCuFaHrPGjY1d5VSQFlZGRgNpvtXUa2zGYzTk5OpKSkkJGRYe9yyrWS3heOjo44OTlhKiETzSckJDBn/QHcPL1v2SYl+SojOzfBz8+vGCsTKbkUAEua9DT4ehJ8O9+6HHwP9FgKfrXsWpYUXFJSEufOncMwDHuXki3DMAgMDOTXX38tMX/Yy6vS0BceHh4EBQXh4uJi71IAcPP0xrOCj73LECk1FABLkstnrEO+v+23Lv9tCIS/Dk4l4xes5F9GRgbnzp3Dw8ODSpUqlcg/6haLhaSkJLy8vDRMZmcluS8MwyAtLY0LFy5w+vRp6tatW6g15nY4FzSkK1IQCoAlxaHP4D/DIPUKuPlAtwXQ4GF7VyWFxGw2YxgGlSpVwt29ZE7bY7FYSEtLw83NTX9U7ayk94W7uzvOzs788ssvtjoLS26Gc0FDuiIFpQBob+mp8NWr8N0i63LVe61Dvj7V7VuXFImSeOZPJD+KMphqOFek6CkA2tMfJ2H1cxD7o3W59XC4/zVwdLZvXSIiIlKmKQDay8E18NlwSLsK7n7w2AdQr6O9qxIREZFyQAGwuJmvw6bxsP8j63L1lvD4h1Cxin3rkmKXl4vdC0tpu2j+zJkz1KpViwMHDhAWFmbvcgA4cuQI/fr1IyYmhgYNGhATE1Nsx540aRJRUVHFekwRKZsUAIvTxePwaT+IPwiYoM1IaD8BHNUN5VFuL3YvLPm5aL5fv34sX76cadOmMW7cONv6qKgoHnvssRI7pU1RioyMxNPTk6NHj+Ll5VWsxx49ejQvvvhisR5TRMomJY/i8uMnsH4EmJPBwx+6L4I6D9i7KrGz0nCxu5ubGzNmzOCFF17A19fX3uUUirS0tHzPX3fy5EkeeeQRatSoUSzH+ysvL69iD50iUjaVnrGg0irtGvxnKKwbZA1/NdvA33cp/EmpER4eTmBgINOmTbtlm0mTJt00RDt37lxq1qxpW+7Xrx/dunVj6tSpBAQE4OPjw+TJk0lPT2fMmDH4+flRtWpVPvroo5v2f+TIEVq1aoWbmxuNGjVi27ZtWd4/ePAgDz30EF5eXgQEBNCnTx8uXrxoe799+/YMGzaMl156CX9/fyIiIrL9HBaLhcmTJ1O1alVcXV0JCwtj06ZNtvdNJhP79+9n8uTJmEwmJk2alO1+bnW8nOpctGgRwcHBWCyWLPvq2rUr/fv3v+XXecmSJYSEhODm5kaDBg14//33be/16NGDYcOG2ZZfeuklTCYTR44cAazB1NPTk6+//hqA1atXExoairu7O3fccQfh4eEkJydn+xlFpHRTACxKvx+BxffDgX8BJmg3Dp79D3gH2rsykVxzdHRk6tSpzJs3j3PnzhVoX9988w3nz59n+/btzJkzh8jISDp37oyvry979+5l8ODBvPDCCzcdZ8yYMYwaNYoDBw7QsmVLunTpwh9//AFYh9Lvv/9+mjRpwr59+9i0aRPx8fE8+eSTWfaxfPlyXFxc2LVrFwsXLsy2vnfeeYfZs2cza9Ys/vvf/xIREcGjjz7K8ePHAYiNjeWuu+5i1KhRxMbGMnr06Ft+1huPd7s6n3jiCf744w+2bNli28elS5fYtGkTvXv3zvYYK1asYOLEibz55pscPnyYqVOn8tprr7F8+XIA2rVrx9atW23tt23bhr+/v23d999/j9lsplWrVsTGxtKrVy/69+/P4cOH2bp1K927dy+Xw/wi5YECYFEwDGvoW9QeLhwGrwBr8OswHhwc7V2dSJ499thjhIWFERkZWaD9+Pn58e6771K/fn369+9P/fr1uXbtGhMmTKBu3bqMHz8eFxcXdu7cmWW7YcOG8fjjjxMSEsKCBQuoWLEiH374IQDvvfceTZo0YerUqTRo0IAmTZqwdOlStmzZwrFjx2z7qFu3LjNnzqR+/frUr18/2/pmzZrF2LFjeeqpp6hfvz4zZswgLCyMuXPnAhAYGIiTkxNeXl4EBgbmOBx74/FuV6evry8PPfQQK1eutO1j9erV+Pv706FDh2yPERkZyezZs+nevTu1atWie/fujBgxgg8++ACwnok8dOgQFy5c4PLlyxw6dIjhw4fbAuDWrVu599578fDwIDY2lvT0dLp3707NmjUJDQ1lyJAhGnIWKaMUAAtbahKsG2wd9k2/DrXbw+CdULudvSsTKZAZM2awfPlyDh8+nO993HXXXVnuQg4ICCA0NNS27OjoyB133MHvv/+eZbuWLVva/u3k5ESzZs1sdfz4449s2bLFdn2cl5cXDRo0AKzX62Vq2rRpjrUlJiZy/vx5WrdunWV969at8/WZbzxeburs3bs3a9asITU1FYCPP/6Yp556Kts7t5OTkzl58iQDBgzIss833njDtr9GjRrh5+fHtm3b2LFjB02aNKFz5862IfRt27bRvn17ABo3bswDDzxAaGgoTzzxBIsXL+by5ct5/twiUjroJpDCFHfQOrHzxWNgcoAOE+C+UVCKpt0QuZW2bdsSERHB+PHj6devX5b3HBwcbhoqNJvNN+3D2TnrJOcmkynbdTdeB5eTpKQkunTpwowZM256LygoyPZvT0/PXO+zMNx4vNzU2aVLFwzDYMOGDTRo0IAdO3bw9ttvZ7v/pKQkABYvXkyLFi2yvOfoaB1pMJlMtG3blq1bt+Lq6kr79u25++67SU1N5eDBg+zevds2jO3o6Eh0dDS7d+/mq6++Yt68ebzyyivs3buXWrVqAdbnAGdkZACQnp5um8oouxtcStuUQyLljQJgYTAM2L8MNo2D9BTwDrLO7Vez9W03FSlNpk+fTlhY2E1DqJUqVSIuLg7DMGyPuyvMueq+/fZb2rZtC1iDx/79+203N9xzzz2sWbOGmjVr4uSU/19pFSpUIDg4mF27dtGu3Z9n7Hft2kXz5s0L9gFyWaebmxvdu3dn5cqVNG7cmPr163PPPfdk2zYgIIDg4GBOnTp1y2sEwXod4OLFi3F1deXNN9/EwcGBtm3b8tZbb5GamprljKfJZKJ169a0bt2aiRMnUqNGDdatW8fIkSMByMjIID7hGiZHR9LT0riaYuar786SfEPW13N6RUo+BcCCSkmE9S9Zn+wBUOdBeGwhePrbtSwpHVKSr5aqY4WGhtK7d2/efffdLOvbt2/PhQsXmDlzJj169GDTpk188cUXVKhQocDHBJg/fz5169YlJCSEt99+m8uXL9vujB06dCiLFy+mV69evPzyy/j5+XHixAlWrVrFkiVLbGfDcmPMmDFERkZy5513EhYWxkcffURMTAwrVqwo8GfIbZ29e/emc+fOHDx4kD59+uS4z9dff51//OMfVKxYkU6dOpGamsq+ffu4fPmyLbS1b9+eESNG4OLiwn333WdbN3r0aO69917bmcq9e/eyefNmOnbsSOXKldm7dy8XLlwgJCQkyzFNjo44OjpicXTEZHLA3dMbLLq2WaS0UQAsiNgfrRM7XzoFJkd4YCK0+oeGfCVXfHx8GNm5SbEfs6AmT57MJ598kmVdSEgI77//PlOnTmXKlCk8/vjjjB49mkWLFhX4eGA98zh9+nRiYmKoU6cOn332Gf7+1v9kZZ61Gzt2LB07diQ1NZUaNWrQqVOnPA9B/uMf/+DKlSuMGjWK33//nYYNG/LZZ59Rt27dAn+G3NZ5//334+fnx/Hjx+nVq1eO+3z++efx8PDgrbfeYsyYMXh6ehIaGspLL71kaxMaGoqPjw/16tWz3dDRvn17MjIybNf/gfUM6Pbt25k7dy6JiYnUqFGD2bNn89BDDxX4s4tIyaMAmB+GAd8vgS8nQEYaVKgKPZZC9Ra331bkfxwcHEr8ENmyZctuWlezZk3bTQp/NXjwYAYPHpxl3YQJE3Lc11+nKMl05syZLMfKvLYwpzBUt25d1q5de8v3sztOdhwcHIiMjMzxbufcDG3f6ni3qzOzhnPnzpGYmHjTGdRJkybdNPfg008/zdNPP53j/i5dupRlXVhY2E3XbIaEhGSZ81BEyjYFwLxKuQKfvQiH/mNdrvcQdHsfPEr2H3IREXvIyzOvC+MMtYjkjgJgXvy2Hz59DhJ+AQdnePB1+NsQ+N9F7yIiklVun3mdeeOIiBQPBcDcMAzYuxC+eg0sZvCpDj2WQdWc5xUTEZHS8cxrkfJGAfB2rl2C/wyDoxusyyFd4NH3wN3HrmWJiIiI5JcCYE5+/d46sfOVX8HRBTq+Cc0HashX8k3PVZUyw/a9rN+HIqWRAmB2LBbYMw82TwZLOvjWgieWQXCYvSuTUipzjre0tDTc3d3tXI1IwaWlppBhGKRZFABFSiMFwBsl/wFRf4fjX1qX7+oOXd4Bt8KZ0FbKJycnJzw8PLhw4QLOzs4l8hFZFouFtLQ0UlJSSmR95UlJ7Yv09HTMaamkmM38cfEC5685kKEzgCKlkgLgX/2yB1b3h6vnwdEVHpoOTZ/TkK8UmMlkIigoiNOnT/PLL7/Yu5xsGYbB9evXcXd3tz3OTeyjpPaFxWIh8boZw2Ti/DUHfk25+RnAIlI6KACCdch319vwzZtgZMAddaxDvoGh9q5MyhAXFxfq1q1LWlqavUvJltlsZvv27bRt2xZnZ2d7l1OuFVdfWCwWEhMTc9W2QoUKJCYm8uXeszh5VNSZP5FSTgEw6QKsGwQnv7Eu390THpkDrl72rUvKJAcHB9zc3OxdRrYcHR1JT0/Hzc1NAdDO8tsXuZ102cfHx/aEkPe++jnXc/S5uLhwLR08Ff5ESr0SEQDnz5/PW2+9RVxcHI0bN2bevHk0b978lu0//fRTXnvtNc6cOUPdunWZMWMGDz/8cN4PfHoHrHkekuLAyR0efguaPKMhXxGxO4vFwqVLl3IVADMDXW4mXc4Mc5mPIdQcfVLW5TVjlBd2D4CffPIJI0eOZOHChbRo0YK5c+cSERHB0aNHqVy58k3td+/eTa9evZg2bRqdO3dm5cqVdOvWjR9++IFGjRrl+rimvQvgyCIwLOBfH55cDpVDCvOjiUgZldfHmzk4OORpG09PT5KTk3nnix/x8PbJsa0Cncit5TVjlCd2D4Bz5sxh4MCBPPfccwAsXLiQDRs2sHTpUsaNG3dT+3feeYdOnToxZswYAKZMmUJ0dDTvvfceCxcuzPVxTd/O55KLAzR6Ah6cBE6ecMMD0+HPX94icrOiDkKZz4YtqmPkt6a8Pt7Mz88vT9u8GGH9z6y7l8KcSEHkNWOUJ3YNgGlpaezfv5/x48fb1jk4OBAeHs6ePXuy3WbPnj2MHDkyy7qIiAiioqKybZ+amkpqaqpt+cqVKwAcS3Di35WH4/JHCKzalX19Kdf4e0QTfH19Abh8+XKuPld+25ekYxRHTV5eXly8eJEzZ86QlJRUJMcoiZ+7JB7D19cXs9nMxYsXiYmJwcnp9r8afH19uXz5Mgu+PICLm0eObf/6s5TXbYAiOUZBa7py+Y8sv1uyk3ItiV9++YXExEQuX76c623Onj3LpUuXiE13wtM75/6zHsPZdoz4c2dw87j1Ncx5bf/XbYA8tS9Jx8hvTWfPmoqsL/66DZSsz10S+/s3V+vP55UrV6hQ4c+p2VxdXXF1db1pm/xkjHLFsKPffvvNAIzdu3dnWT9mzBijefPm2W7j7OxsrFy5Msu6+fPnG5UrV862fWRkpAHopZdeeumll15l8BUZGVloGaM8sfsQcFEbP358ljOGly5dolatWhw8eJCKFSvasTK5evUqDRs25NChQ3h75zwsJkVP/VFyqC9KDvVFyXHlyhUaNWrE6dOnbde8Atme/ZPbs2sA9Pf3x9HRkfj4+Czr4+PjCQwMzHabwMDAPLW/1anhatWqZTmFLMUvc/6xKlWqqC9KAPVHyaG+KDnUFyVH5tffz88vV32Rn4xRntj17gYXFxeaNm3K5s2bbessFgubN2+mZcuW2W7TsmXLLO0BoqOjb9leREREyp/8ZIzyxO5DwCNHjqRv3740a9aM5s2bM3fuXJKTk2137Dz77LNUqVKFadOmATB8+HDatWvH7NmzeeSRR1i1ahX79u1j0aJF9vwYIiIiUsLcLmOUZ3YPgD179uTChQtMnDiRuLg4wsLC2LRpEwEBAQCcPXs2yzQsrVq1YuXKlbz66qtMmDCBunXrEhUVles5AF1dXYmMjNQ1AyWA+qJkUX+UHOqLkkN9UXLkpy9ulzHKM5NhGIa9ixARERGR4qMZjkVERETKGQVAERERkXJGAVBERESknFEAFBERESlnymQAnD9/PjVr1sTNzY0WLVrw3Xff5dj+008/pUGDBri5uREaGsrGjRuLqdKyLy99sXjxYtq0aYOvry++vr6Eh4fftu8kb/L6s5Fp1apVmEwmunXrVrQFliN57YuEhASGDh1KUFAQrq6u1KtXT7+rCkle+2Lu3LnUr18fd3d3qlWrxogRI0hJSSmmasuu7du306VLF4KDgzGZTERFRd12m61bt3LPPffg6upKnTp1WLZsWZHXWWbY+1l0hW3VqlWGi4uLsXTpUuPnn382Bg4caPj4+Bjx8fHZtt+1a5fh6OhozJw50zh06JDx6quvGs7OzsZPP/1UzJWXPXnti6efftqYP3++ceDAAePw4cNGv379jIoVKxrnzp0r5srLprz2R6bTp08bVapUMdq0aWN07dq1eIot4/LaF6mpqUazZs2Mhx9+2Ni5c6dx+vRpY+vWrUZMTEwxV1725LUvVqxYYbi6uhorVqwwTp8+bXz55ZdGUFCQMWLEiGKuvOzZuHGj8corrxhr1641AGPdunU5tj916pTh4eFhjBw50jh06JAxb948w9HR0di0aVPxFFzKlbkA2Lx5c2Po0KG25YyMDCM4ONiYNm1atu2ffPJJ45FHHsmyrkWLFsYLL7xQpHWWB3ntixulp6cb3t7exvLly4uqxHIlP/2Rnp5utGrVyliyZInRt29fBcBCkte+WLBggVG7dm0jLS2tuEosN/LaF0OHDjXuv//+LOtGjhxptG7dukjrLG9yEwBffvll46677sqyrmfPnkZEREQRVlZ2lKkh4LS0NPbv3094eLhtnYODA+Hh4ezZsyfbbfbs2ZOlPUBERMQt20vu5KcvbnTt2jXMZnOWh35L/uS3PyZPnkzlypUZMGBAcZRZLuSnLz777DNatmzJ0KFDCQgIoFGjRkydOpWMjIziKrtMyk9ftGrViv3799uGiU+dOsXGjRt5+OGHi6Vm+ZP+fheM3Z8EUpguXrxIRkbGTTN8BwQEcOTIkWy3iYuLy7Z9XFxckdVZHuSnL240duxYgoODb/oBl7zLT3/s3LmTDz/8kJiYmGKosPzIT1+cOnWKb775ht69e7Nx40ZOnDjBkCFDMJvNREZGFkfZZVJ++uLpp5/m4sWL3HfffRiGQXp6OoMHD2bChAnFUbL8xa3+ficmJnL9+nXc3d3tVFnpUKbOAErZMX36dFatWsW6detwc3OzdznlztWrV+nTpw+LFy/G39/f3uWUexaLhcqVK7No0SKaNm1Kz549eeWVV1i4cKG9Syt3tm7dytSpU3n//ff54YcfWLt2LRs2bGDKlCn2Lk0kT8rUGUB/f38cHR2Jj4/Psj4+Pp7AwMBstwkMDMxTe8md/PRFplmzZjF9+nS+/vpr7r777qIss9zIa3+cPHmSM2fO0KVLF9s6i8UCgJOTE0ePHuXOO+8s2qLLqPz8bAQFBeHs7Iyjo6NtXUhICHFxcaSlpeHi4lKkNZdV+emL1157jT59+vD8888DEBoaSnJyMoMGDeKVV17J8ux6KVq3+vtdoUIFnf3LhTL1neri4kLTpk3ZvHmzbZ3FYmHz5s20bNky221atmyZpT1AdHT0LdtL7uSnLwBmzpzJlClT2LRpE82aNSuOUsuFvPZHgwYN+Omnn4iJibG9Hn30UTp06EBMTAzVqlUrzvLLlPz8bLRu3ZoTJ07YQjjAsWPHCAoKUvgrgPz0xbVr124KeZnB3DCMoitWbqK/3wVk77tQCtuqVasMV1dXY9myZcahQ4eMQYMGGT4+PkZcXJxhGIbRp08fY9y4cbb2u3btMpycnIxZs2YZhw8fNiIjIzUNTCHJa19Mnz7dcHFxMVavXm3ExsbaXlevXrXXRyhT8tofN9JdwIUnr31x9uxZw9vb2xg2bJhx9OhRY/369UblypWNN954w14foczIa19ERkYa3t7exscff2ycOnXK+Oqrr4w777zTePLJJ+31EcqMq1evGgcOHDAOHDhgAMacOXOMAwcOGL/88othGIYxbtw4o0+fPrb2mdPAjBkzxjh8+LAxf/58TQOTB2UuABqGYcybN8+oXr264eLiYjRv3tz49ttvbe+1a9fO6Nu3b5b2//73v4169eoZLi4uxl133WVs2LChmCsuu/LSFzVq1DCAm16RkZHFX3gZldefjb9SACxcee2L3bt3Gy1atDBcXV2N2rVrG2+++aaRnp5ezFWXTXnpC7PZbEyaNMm48847DTc3N6NatWrGkCFDjMuXLxd/4WXMli1bsv0bkPn179u3r9GuXbubtgkLCzNcXFyM2rVrGx999FGx111amQxD56xFREREypMydQ2giIiIiNyeAqCIiIhIOaMAKCIiIlLOKACKiIiIlDMKgCIiIiLljAKgiIiISDmjACgiIiJSzigAikiJ169fP7p162Zbbt++PS+99FKx17F161ZMJhMJCQnFfmwRkcKkACgi+dKvXz9MJhMmkwkXFxfq1KnD5MmTSU9PL/Jjr127lilTpuSqbXGHtpo1a9q+Lh4eHoSGhrJkyZJiObaISG4pAIpIvnXq1InY2FiOHz/OqFGjmDRpEm+99Va2bdPS0grtuH5+fnh7exfa/grb5MmTiY2N5eDBgzzzzDMMHDiQL774wt5liYjYKACKSL65uroSGBhIjRo1+Pvf/054eDifffYZ8Oew7ZtvvklwcDD169cH4Ndff+XJJ5/Ex8cHPz8/unbtypkzZ2z7zMjIYOTIkfj4+HDHHXfw8ssvc+MTK28cAk5NTWXs2LFUq1YNV1dX6tSpw4cffsiZM2fo0KEDAL6+vphMJvr16weAxWJh2rRp1KpVC3d3dxo3bszq1auzHGfjxo3Uq1cPd3d3OnTokKXOnHh7exMYGEjt2rUZO3Ysfn5+REdH5+ErKyJStBQARaTQuLu7ZznTt3nzZo4ePUp0dDTr16/HbDYTERGBt7c3O3bsYNeuXXh5edGpUyfbdrNnz2bZsmUsXbqUnTt3cunSJdatW5fjcZ999lk+/vhj3n33XQ4fPswHH3yAl5cX1apVY82aNQAcPXqU2NhY3nnnHQCmTZvGP//5TxYuXMjPP//MiBEjeOaZZ9i2bRtgDardu3enS5cuxMTE8PzzzzNu3Lg8fT0sFgtr1qzh8uXLuLi45GlbEZEiZYiI5EPfvn2Nrl27GoZhGBaLxYiOjjZcXV2N0aNH294PCAgwUlNTbdv83//9n1G/fn3DYrHY1qWmphru7u7Gl19+aRiGYQQFBRkzZ860vW82m42qVavajmUYhtGuXTtj+PDhhmEYxtGjRw3AiI6OzrbOLVu2GIBx+fJl27qUlBTDw8PD2L17d5a2AwYMMHr16mUYhmGMHz/eaNiwYZb3x44de9O+blSjRg3DxcXF8PT0NJycnAzA8PPzM44fP37LbUREipuTfeOniJRm69evx8vLC7PZjMVi4emnn2bSpEm290NDQ7Oc+frxxx85ceLETdfvpaSkcPLkSa5cuUJsbCwtWrSwvefk5ESzZs1uGgbOFBMTg6OjI+3atct13SdOnODatWs8+OCDWdanpaXRpEkTAA4fPpylDoCWLVvmav9jxoyhX79+xMbGMmbMGIYMGUKdOnVyXZ+ISFFTABSRfOvQoQMLFizAxcWF4OBgnJyy/krx9PTMspyUlETTpk1ZsWLFTfuqVKlSvmpwd3fP8zZJSUkAbNiwgSpVqmR5z9XVNV91/JW/vz916tShTp06fPrpp4SGhtKsWTMaNmxY4H2LiBQGXQMoIvnm6elJnTp1qF69+k3hLzv33HMPx48fp3LlyraAlPmqWLEiFStWJCgoiL1799q2SU9PZ//+/bfcZ2hoKBaLxXbt3o0yz0BmZGTY1jVs2BBXV1fOnj17Ux3VqlUDICQkhO+++y7Lvr799tvbfsYbVatWjZ49ezJ+/Pg8bysiUlQUAEWk2PTu3Rt/f3+6du3Kjh07OH36NFu3buUf//gH586dA2D48OFMnz6dqKgojhw5wpAhQ3Kcw69mzZr07duX/v37ExUVZdvnv//9bwBq1KiByWRi/fr1XLhwgaSkJLy9vRk9ejQjRoxg+fLlnDx5kh9++IF58+axfPlyAAYPHszx48cZM2YMR48eZeXKlSxbtixfn3v48OF8/vnn7Nu3L1/bi4gUNgVAESk2Hh4ebN++nerVq9O9e3dCQkIYMGAAKSkpVKhQAYBRo0bRp08f+vbtS8uWLfH29uaxxx7Lcb8LFiygR48eDBkyhAYNGjBw4ECSk5MBqFKlCq+//jrjxo0jICCAYcOGATBlyhRee+01pk2bRkhICJ06dWLDhg3UqlULgOrVq7NmzRqioqJo3LgxCxcuZOrUqfn63A0bNqRjx45MnDgxX9uLiBQ2k3GrK6tFREREpEzSGUARERGRckYBUERERKScUQAUERERKWcUAEVERETKGQVAERERkXJGAVBERESknFEAFBERESlnFABFREREyhkFQBEREZFyRgFQREREpJxRABQREREpZxQARURERMqZ/wdIUk4+CeJ3yAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "\n",
    "\n",
    "# code from https://github.com/papousek/duolingo-halflife-regression/blob/master/evaluation.py\n",
    "def load_brier(predictions, real, bins=20):\n",
    "    counts = np.zeros(bins)\n",
    "    correct = np.zeros(bins)\n",
    "    prediction = np.zeros(bins)\n",
    "    for p, r in zip(predictions, real):\n",
    "        bin = min(int(p * bins), bins - 1)\n",
    "        counts[bin] += 1\n",
    "        correct[bin] += r\n",
    "        prediction[bin] += p\n",
    "    np.seterr(invalid='ignore')\n",
    "    prediction_means = prediction / counts\n",
    "    prediction_means[np.isnan(prediction_means)] = ((np.arange(bins) + 0.5) / bins)[np.isnan(prediction_means)]\n",
    "    correct_means = correct / counts\n",
    "    correct_means[np.isnan(correct_means)] = 0\n",
    "    size = len(predictions)\n",
    "    answer_mean = sum(correct) / size\n",
    "    return {\n",
    "        \"reliability\": sum(counts * (correct_means - prediction_means) ** 2) / size,\n",
    "        \"resolution\": sum(counts * (correct_means - answer_mean) ** 2) / size,\n",
    "        \"uncertainty\": answer_mean * (1 - answer_mean),\n",
    "        \"detail\": {\n",
    "            \"bin_count\": bins,\n",
    "            \"bin_counts\": list(counts),\n",
    "            \"bin_prediction_means\": list(prediction_means),\n",
    "            \"bin_correct_means\": list(correct_means),\n",
    "        }\n",
    "    }\n",
    "\n",
    "\n",
    "def plot_brier(predictions, real, bins=20):\n",
    "    brier = load_brier(predictions, real, bins=bins)\n",
    "    bin_prediction_means = brier['detail']['bin_prediction_means']\n",
    "    bin_correct_means = brier['detail']['bin_correct_means']\n",
    "    bin_counts = brier['detail']['bin_counts']\n",
    "    r2 = r2_score(bin_correct_means, bin_prediction_means, sample_weight=bin_counts)\n",
    "    rmse = np.sqrt(mean_squared_error(bin_correct_means, bin_prediction_means, sample_weight=bin_counts))\n",
    "    print(f\"R-squared: {r2:.4f}\")\n",
    "    print(f\"RMSE: {rmse:.4f}\")\n",
    "    plt.figure()\n",
    "    ax = plt.gca()\n",
    "    ax.set_xlim([0, 1])\n",
    "    ax.set_ylim([0, 1])\n",
    "    plt.grid(True)\n",
    "    plt.plot(bin_prediction_means, bin_correct_means, label='Actual Calibration')\n",
    "    plt.plot((0, 1), (0, 1), label='Perfect Calibration')\n",
    "    bin_count = brier['detail']['bin_count']\n",
    "    counts = np.array(bin_counts)\n",
    "    bins = (np.arange(bin_count) + 0.5) / bin_count\n",
    "    plt.legend(loc='upper center')\n",
    "    plt.xlabel('Predicted R')\n",
    "    plt.ylabel('Actual R')\n",
    "    plt.twinx()\n",
    "    plt.ylabel('Number of reviews')\n",
    "    plt.bar(bins, counts, width=(0.8 / bin_count), ec='k', lw=.2, alpha=0.5, label='Number of reviews')\n",
    "    plt.legend(loc='lower center')\n",
    "\n",
    "\n",
    "plot_brier(dataset['p'], dataset['y'], bins=40)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.ticker as ticker\n",
    "\n",
    "def to_percent(temp, position):\n",
    "    return '%1.0f' % (100 * temp) + '%'\n",
    "\n",
    "fig = plt.figure(1)\n",
    "ax1 = fig.add_subplot(111)\n",
    "ax2 = ax1.twinx()\n",
    "lns = []\n",
    "\n",
    "stability_calibration = pd.DataFrame(columns=['stability', 'predicted_retention', 'actual_retention'])\n",
    "stability_calibration = dataset[['stability', 'p', 'y']].copy()\n",
    "stability_calibration['bin'] = stability_calibration['stability'].map(lambda x: math.pow(1.2, math.floor(math.log(x, 1.2))))\n",
    "stability_group = stability_calibration.groupby('bin').count()\n",
    "\n",
    "lns1 = ax1.bar(x=stability_group.index, height=stability_group['y'], width=stability_group.index / 5.5,\n",
    "                ec='k', lw=.2, label='Number of predictions', alpha=0.5)\n",
    "ax1.set_ylabel(\"Number of predictions\")\n",
    "ax1.set_xlabel(\"Stability (days)\")\n",
    "ax1.semilogx()\n",
    "lns.append(lns1)\n",
    "\n",
    "stability_group = stability_calibration.groupby(by='bin').agg('mean')\n",
    "lns2 = ax2.plot(stability_group['y'], label='Actual retention')\n",
    "lns3 = ax2.plot(stability_group['p'], label='Predicted retention')\n",
    "ax2.set_ylabel(\"Retention\")\n",
    "ax2.set_ylim(0, 1)\n",
    "lns.append(lns2[0])\n",
    "lns.append(lns3[0])\n",
    "\n",
    "labs = [l.get_label() for l in lns]\n",
    "ax2.legend(lns, labs, loc='lower right')\n",
    "plt.grid(linestyle='--')\n",
    "plt.gca().yaxis.set_major_formatter(ticker.FuncFormatter(to_percent))\n",
    "plt.gca().xaxis.set_major_formatter(ticker.FormatStrFormatter('%d'))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style type=\"text/css\">\n",
       "#T_e3fe2_row0_col0, #T_e3fe2_row0_col1, #T_e3fe2_row0_col2, #T_e3fe2_row0_col3, #T_e3fe2_row0_col4, #T_e3fe2_row0_col5, #T_e3fe2_row0_col6, #T_e3fe2_row0_col7, #T_e3fe2_row0_col8, #T_e3fe2_row1_col0, #T_e3fe2_row1_col1, #T_e3fe2_row1_col2, #T_e3fe2_row1_col3, #T_e3fe2_row1_col4, #T_e3fe2_row1_col5, #T_e3fe2_row1_col6, #T_e3fe2_row1_col7, #T_e3fe2_row1_col8, #T_e3fe2_row2_col0, #T_e3fe2_row2_col1, #T_e3fe2_row2_col2, #T_e3fe2_row2_col3, #T_e3fe2_row2_col4, #T_e3fe2_row2_col5, #T_e3fe2_row2_col6, #T_e3fe2_row2_col7, #T_e3fe2_row2_col8, #T_e3fe2_row3_col0, #T_e3fe2_row3_col1, #T_e3fe2_row3_col2, #T_e3fe2_row3_col3, #T_e3fe2_row3_col4, #T_e3fe2_row3_col5, #T_e3fe2_row3_col6, #T_e3fe2_row3_col7, #T_e3fe2_row4_col0, #T_e3fe2_row4_col1, #T_e3fe2_row4_col2, #T_e3fe2_row4_col3, #T_e3fe2_row4_col4, #T_e3fe2_row4_col5, #T_e3fe2_row5_col0, #T_e3fe2_row5_col1, #T_e3fe2_row5_col2, #T_e3fe2_row5_col3, #T_e3fe2_row5_col4, #T_e3fe2_row5_col5, #T_e3fe2_row6_col0, #T_e3fe2_row6_col1, #T_e3fe2_row6_col2, #T_e3fe2_row6_col3, #T_e3fe2_row7_col0, #T_e3fe2_row7_col1, #T_e3fe2_row7_col2, #T_e3fe2_row8_col0, #T_e3fe2_row8_col1, #T_e3fe2_row8_col2, #T_e3fe2_row9_col0, #T_e3fe2_row9_col1, #T_e3fe2_row10_col0, #T_e3fe2_row11_col0, #T_e3fe2_row20_col9, #T_e3fe2_row21_col9, #T_e3fe2_row22_col8, #T_e3fe2_row22_col9, #T_e3fe2_row23_col0, #T_e3fe2_row23_col5, #T_e3fe2_row23_col6, #T_e3fe2_row23_col7, #T_e3fe2_row23_col8, #T_e3fe2_row23_col9, #T_e3fe2_row24_col1, #T_e3fe2_row24_col3, #T_e3fe2_row24_col4, #T_e3fe2_row24_col5, #T_e3fe2_row24_col6, #T_e3fe2_row24_col7, #T_e3fe2_row24_col8, #T_e3fe2_row24_col9 {\n",
       "  background-color: #000000;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row0_col9, #T_e3fe2_row5_col6 {\n",
       "  background-color: #7171ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row1_col9 {\n",
       "  background-color: #ffadad;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row2_col9 {\n",
       "  background-color: #ff9191;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row3_col8 {\n",
       "  background-color: #ff6d6d;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row3_col9, #T_e3fe2_row14_col6, #T_e3fe2_row16_col5 {\n",
       "  background-color: #ffa1a1;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row4_col6 {\n",
       "  background-color: #ff5959;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row4_col7 {\n",
       "  background-color: #ffd1d1;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row4_col8, #T_e3fe2_row14_col2, #T_e3fe2_row19_col1, #T_e3fe2_row21_col2 {\n",
       "  background-color: #cdcdff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row4_col9, #T_e3fe2_row9_col5, #T_e3fe2_row9_col7, #T_e3fe2_row11_col4, #T_e3fe2_row22_col2 {\n",
       "  background-color: #ffe5e5;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row5_col7, #T_e3fe2_row14_col7, #T_e3fe2_row19_col4 {\n",
       "  background-color: #ffa9a9;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row5_col8, #T_e3fe2_row8_col8, #T_e3fe2_row16_col0, #T_e3fe2_row18_col1 {\n",
       "  background-color: #c9c9ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row5_col9, #T_e3fe2_row9_col8 {\n",
       "  background-color: #e1e1ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row6_col4 {\n",
       "  background-color: #ff3535;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row6_col5, #T_e3fe2_row18_col8, #T_e3fe2_row20_col1 {\n",
       "  background-color: #9d9dff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row6_col6, #T_e3fe2_row11_col6, #T_e3fe2_row11_col9, #T_e3fe2_row12_col5 {\n",
       "  background-color: #ffe1e1;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row6_col7 {\n",
       "  background-color: #ff3d3d;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row6_col8, #T_e3fe2_row14_col0 {\n",
       "  background-color: #7575ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row6_col9, #T_e3fe2_row13_col4, #T_e3fe2_row16_col4, #T_e3fe2_row17_col2, #T_e3fe2_row24_col0 {\n",
       "  background-color: #f5f5ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row7_col3, #T_e3fe2_row12_col2, #T_e3fe2_row15_col1 {\n",
       "  background-color: #b5b5ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row7_col4, #T_e3fe2_row8_col7, #T_e3fe2_row15_col9 {\n",
       "  background-color: #ffb5b5;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row7_col5, #T_e3fe2_row17_col9, #T_e3fe2_row20_col4 {\n",
       "  background-color: #ff5151;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row7_col6, #T_e3fe2_row12_col4, #T_e3fe2_row14_col3, #T_e3fe2_row20_col3 {\n",
       "  background-color: #fffdfd;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row7_col7, #T_e3fe2_row15_col6 {\n",
       "  background-color: #ffc9c9;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row7_col8, #T_e3fe2_row8_col6, #T_e3fe2_row9_col6, #T_e3fe2_row15_col2 {\n",
       "  background-color: #d1d1ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row7_col9, #T_e3fe2_row9_col4, #T_e3fe2_row10_col5, #T_e3fe2_row19_col3 {\n",
       "  background-color: #f1f1ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row8_col3, #T_e3fe2_row10_col3, #T_e3fe2_row16_col2, #T_e3fe2_row22_col4 {\n",
       "  background-color: #d9d9ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row8_col4, #T_e3fe2_row8_col5, #T_e3fe2_row10_col8, #T_e3fe2_row11_col1, #T_e3fe2_row12_col8, #T_e3fe2_row13_col8, #T_e3fe2_row15_col3, #T_e3fe2_row18_col3 {\n",
       "  background-color: #f9f9ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row8_col9, #T_e3fe2_row16_col3 {\n",
       "  background-color: #ffeded;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row9_col2, #T_e3fe2_row18_col0 {\n",
       "  background-color: #6d6dff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row9_col3 {\n",
       "  background-color: #fff5f5;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row9_col9 {\n",
       "  background-color: #ffdddd;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row10_col1 {\n",
       "  background-color: #7979ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row10_col2 {\n",
       "  background-color: #ddddff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row10_col4, #T_e3fe2_row12_col7 {\n",
       "  background-color: #ffd9d9;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row10_col6, #T_e3fe2_row11_col8, #T_e3fe2_row17_col3, #T_e3fe2_row24_col2 {\n",
       "  background-color: #fdfdff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row10_col7, #T_e3fe2_row11_col5, #T_e3fe2_row12_col9, #T_e3fe2_row14_col9 {\n",
       "  background-color: #ffe9e9;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row10_col9, #T_e3fe2_row12_col3, #T_e3fe2_row13_col9, #T_e3fe2_row17_col8, #T_e3fe2_row18_col2 {\n",
       "  background-color: #fff1f1;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row11_col2, #T_e3fe2_row18_col7, #T_e3fe2_row21_col1 {\n",
       "  background-color: #b9b9ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row11_col3 {\n",
       "  background-color: #c5c5ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row11_col7, #T_e3fe2_row20_col6 {\n",
       "  background-color: #ffb9b9;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row12_col0, #T_e3fe2_row13_col0, #T_e3fe2_row20_col8 {\n",
       "  background-color: #6969ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row12_col1 {\n",
       "  background-color: #9595ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row12_col6, #T_e3fe2_row14_col4, #T_e3fe2_row14_col8, #T_e3fe2_row15_col8 {\n",
       "  background-color: #ffd5d5;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row13_col1 {\n",
       "  background-color: #a9a9ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row13_col2, #T_e3fe2_row16_col1, #T_e3fe2_row19_col2 {\n",
       "  background-color: #bdbdff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row13_col3 {\n",
       "  background-color: #e9e9ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row13_col5, #T_e3fe2_row16_col8 {\n",
       "  background-color: #ffc1c1;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row13_col6, #T_e3fe2_row13_col7, #T_e3fe2_row17_col6, #T_e3fe2_row18_col5, #T_e3fe2_row19_col6 {\n",
       "  background-color: #ffb1b1;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row14_col1 {\n",
       "  background-color: #a1a1ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row14_col5, #T_e3fe2_row15_col7 {\n",
       "  background-color: #ffbdbd;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row15_col0 {\n",
       "  background-color: #8d8dff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row15_col4, #T_e3fe2_row21_col4 {\n",
       "  background-color: #ff7979;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row15_col5, #T_e3fe2_row18_col4 {\n",
       "  background-color: #ffa5a5;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row16_col6, #T_e3fe2_row17_col7, #T_e3fe2_row18_col6 {\n",
       "  background-color: #ffc5c5;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row16_col7 {\n",
       "  background-color: #ff7d7d;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row16_col9 {\n",
       "  background-color: #ff8d8d;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row17_col0 {\n",
       "  background-color: #8989ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row17_col1 {\n",
       "  background-color: #d5d5ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row17_col4 {\n",
       "  background-color: #ff8585;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row17_col5, #T_e3fe2_row21_col0 {\n",
       "  background-color: #ff8989;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row18_col9 {\n",
       "  background-color: #ff2525;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row19_col0 {\n",
       "  background-color: #4141ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row19_col5 {\n",
       "  background-color: #ffcdcd;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row19_col7 {\n",
       "  background-color: #fa0000;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row19_col8, #T_e3fe2_row21_col8, #T_e3fe2_row22_col0 {\n",
       "  background-color: #a5a5ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row19_col9, #T_e3fe2_row22_col7, #T_e3fe2_row23_col1 {\n",
       "  background-color: #800000;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row20_col0 {\n",
       "  background-color: #6565ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row20_col2 {\n",
       "  background-color: #fff9f9;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row20_col5 {\n",
       "  background-color: #ff0101;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row20_col7 {\n",
       "  background-color: #e20000;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row21_col3 {\n",
       "  background-color: #c1c1ff;\n",
       "  color: #000000;\n",
       "}\n",
       "#T_e3fe2_row21_col5 {\n",
       "  background-color: #ff4949;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row21_col6 {\n",
       "  background-color: #ea0000;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row21_col7 {\n",
       "  background-color: #ec0000;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row22_col1 {\n",
       "  background-color: #ff4545;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row22_col3 {\n",
       "  background-color: #ff5555;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row22_col5 {\n",
       "  background-color: #ff0d0d;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row22_col6 {\n",
       "  background-color: #9191ff;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row23_col2 {\n",
       "  background-color: #ff7171;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row23_col3 {\n",
       "  background-color: #ff4141;\n",
       "  color: #f1f1f1;\n",
       "}\n",
       "#T_e3fe2_row23_col4 {\n",
       "  background-color: #adadff;\n",
       "  color: #000000;\n",
       "}\n",
       "</style>\n",
       "<table id=\"T_e3fe2_\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th class=\"index_name level0\" >d_bin</th>\n",
       "      <th class=\"col_heading level0 col0\" >1</th>\n",
       "      <th class=\"col_heading level0 col1\" >2</th>\n",
       "      <th class=\"col_heading level0 col2\" >3</th>\n",
       "      <th class=\"col_heading level0 col3\" >4</th>\n",
       "      <th class=\"col_heading level0 col4\" >5</th>\n",
       "      <th class=\"col_heading level0 col5\" >6</th>\n",
       "      <th class=\"col_heading level0 col6\" >7</th>\n",
       "      <th class=\"col_heading level0 col7\" >8</th>\n",
       "      <th class=\"col_heading level0 col8\" >9</th>\n",
       "      <th class=\"col_heading level0 col9\" >10</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th class=\"index_name level0\" >s_bin</th>\n",
       "      <th class=\"blank col0\" >&nbsp;</th>\n",
       "      <th class=\"blank col1\" >&nbsp;</th>\n",
       "      <th class=\"blank col2\" >&nbsp;</th>\n",
       "      <th class=\"blank col3\" >&nbsp;</th>\n",
       "      <th class=\"blank col4\" >&nbsp;</th>\n",
       "      <th class=\"blank col5\" >&nbsp;</th>\n",
       "      <th class=\"blank col6\" >&nbsp;</th>\n",
       "      <th class=\"blank col7\" >&nbsp;</th>\n",
       "      <th class=\"blank col8\" >&nbsp;</th>\n",
       "      <th class=\"blank col9\" >&nbsp;</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row0\" class=\"row_heading level0 row0\" >0.26</th>\n",
       "      <td id=\"T_e3fe2_row0_col0\" class=\"data row0 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col1\" class=\"data row0 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col2\" class=\"data row0 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col3\" class=\"data row0 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col4\" class=\"data row0 col4\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col5\" class=\"data row0 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col6\" class=\"data row0 col6\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col7\" class=\"data row0 col7\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col8\" class=\"data row0 col8\" ></td>\n",
       "      <td id=\"T_e3fe2_row0_col9\" class=\"data row0 col9\" >-5.56%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row1\" class=\"row_heading level0 row1\" >0.36</th>\n",
       "      <td id=\"T_e3fe2_row1_col0\" class=\"data row1 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col1\" class=\"data row1 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col2\" class=\"data row1 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col3\" class=\"data row1 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col4\" class=\"data row1 col4\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col5\" class=\"data row1 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col6\" class=\"data row1 col6\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col7\" class=\"data row1 col7\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col8\" class=\"data row1 col8\" ></td>\n",
       "      <td id=\"T_e3fe2_row1_col9\" class=\"data row1 col9\" >3.21%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row2\" class=\"row_heading level0 row2\" >0.51</th>\n",
       "      <td id=\"T_e3fe2_row2_col0\" class=\"data row2 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col1\" class=\"data row2 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col2\" class=\"data row2 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col3\" class=\"data row2 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col4\" class=\"data row2 col4\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col5\" class=\"data row2 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col6\" class=\"data row2 col6\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col7\" class=\"data row2 col7\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col8\" class=\"data row2 col8\" ></td>\n",
       "      <td id=\"T_e3fe2_row2_col9\" class=\"data row2 col9\" >4.30%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row3\" class=\"row_heading level0 row3\" >0.71</th>\n",
       "      <td id=\"T_e3fe2_row3_col0\" class=\"data row3 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col1\" class=\"data row3 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col2\" class=\"data row3 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col3\" class=\"data row3 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col4\" class=\"data row3 col4\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col5\" class=\"data row3 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col6\" class=\"data row3 col6\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col7\" class=\"data row3 col7\" ></td>\n",
       "      <td id=\"T_e3fe2_row3_col8\" class=\"data row3 col8\" >5.72%</td>\n",
       "      <td id=\"T_e3fe2_row3_col9\" class=\"data row3 col9\" >3.65%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row4\" class=\"row_heading level0 row4\" >1.0</th>\n",
       "      <td id=\"T_e3fe2_row4_col0\" class=\"data row4 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row4_col1\" class=\"data row4 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row4_col2\" class=\"data row4 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row4_col3\" class=\"data row4 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row4_col4\" class=\"data row4 col4\" ></td>\n",
       "      <td id=\"T_e3fe2_row4_col5\" class=\"data row4 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row4_col6\" class=\"data row4 col6\" >6.51%</td>\n",
       "      <td id=\"T_e3fe2_row4_col7\" class=\"data row4 col7\" >1.75%</td>\n",
       "      <td id=\"T_e3fe2_row4_col8\" class=\"data row4 col8\" >-1.95%</td>\n",
       "      <td id=\"T_e3fe2_row4_col9\" class=\"data row4 col9\" >1.04%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row5\" class=\"row_heading level0 row5\" >1.4</th>\n",
       "      <td id=\"T_e3fe2_row5_col0\" class=\"data row5 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row5_col1\" class=\"data row5 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row5_col2\" class=\"data row5 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row5_col3\" class=\"data row5 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row5_col4\" class=\"data row5 col4\" ></td>\n",
       "      <td id=\"T_e3fe2_row5_col5\" class=\"data row5 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row5_col6\" class=\"data row5 col6\" >-5.50%</td>\n",
       "      <td id=\"T_e3fe2_row5_col7\" class=\"data row5 col7\" >3.33%</td>\n",
       "      <td id=\"T_e3fe2_row5_col8\" class=\"data row5 col8\" >-2.09%</td>\n",
       "      <td id=\"T_e3fe2_row5_col9\" class=\"data row5 col9\" >-1.22%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row6\" class=\"row_heading level0 row6\" >1.96</th>\n",
       "      <td id=\"T_e3fe2_row6_col0\" class=\"data row6 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row6_col1\" class=\"data row6 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row6_col2\" class=\"data row6 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row6_col3\" class=\"data row6 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row6_col4\" class=\"data row6 col4\" >7.87%</td>\n",
       "      <td id=\"T_e3fe2_row6_col5\" class=\"data row6 col5\" >-3.81%</td>\n",
       "      <td id=\"T_e3fe2_row6_col6\" class=\"data row6 col6\" >1.23%</td>\n",
       "      <td id=\"T_e3fe2_row6_col7\" class=\"data row6 col7\" >7.53%</td>\n",
       "      <td id=\"T_e3fe2_row6_col8\" class=\"data row6 col8\" >-5.33%</td>\n",
       "      <td id=\"T_e3fe2_row6_col9\" class=\"data row6 col9\" >-0.38%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row7\" class=\"row_heading level0 row7\" >2.74</th>\n",
       "      <td id=\"T_e3fe2_row7_col0\" class=\"data row7 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row7_col1\" class=\"data row7 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row7_col2\" class=\"data row7 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row7_col3\" class=\"data row7 col3\" >-2.96%</td>\n",
       "      <td id=\"T_e3fe2_row7_col4\" class=\"data row7 col4\" >2.91%</td>\n",
       "      <td id=\"T_e3fe2_row7_col5\" class=\"data row7 col5\" >6.73%</td>\n",
       "      <td id=\"T_e3fe2_row7_col6\" class=\"data row7 col6\" >0.07%</td>\n",
       "      <td id=\"T_e3fe2_row7_col7\" class=\"data row7 col7\" >2.06%</td>\n",
       "      <td id=\"T_e3fe2_row7_col8\" class=\"data row7 col8\" >-1.76%</td>\n",
       "      <td id=\"T_e3fe2_row7_col9\" class=\"data row7 col9\" >-0.56%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row8\" class=\"row_heading level0 row8\" >3.84</th>\n",
       "      <td id=\"T_e3fe2_row8_col0\" class=\"data row8 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row8_col1\" class=\"data row8 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row8_col2\" class=\"data row8 col2\" ></td>\n",
       "      <td id=\"T_e3fe2_row8_col3\" class=\"data row8 col3\" >-1.41%</td>\n",
       "      <td id=\"T_e3fe2_row8_col4\" class=\"data row8 col4\" >-0.22%</td>\n",
       "      <td id=\"T_e3fe2_row8_col5\" class=\"data row8 col5\" >-0.16%</td>\n",
       "      <td id=\"T_e3fe2_row8_col6\" class=\"data row8 col6\" >-1.77%</td>\n",
       "      <td id=\"T_e3fe2_row8_col7\" class=\"data row8 col7\" >2.85%</td>\n",
       "      <td id=\"T_e3fe2_row8_col8\" class=\"data row8 col8\" >-2.18%</td>\n",
       "      <td id=\"T_e3fe2_row8_col9\" class=\"data row8 col9\" >0.68%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row9\" class=\"row_heading level0 row9\" >5.38</th>\n",
       "      <td id=\"T_e3fe2_row9_col0\" class=\"data row9 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row9_col1\" class=\"data row9 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row9_col2\" class=\"data row9 col2\" >-5.76%</td>\n",
       "      <td id=\"T_e3fe2_row9_col3\" class=\"data row9 col3\" >0.47%</td>\n",
       "      <td id=\"T_e3fe2_row9_col4\" class=\"data row9 col4\" >-0.59%</td>\n",
       "      <td id=\"T_e3fe2_row9_col5\" class=\"data row9 col5\" >0.98%</td>\n",
       "      <td id=\"T_e3fe2_row9_col6\" class=\"data row9 col6\" >-1.75%</td>\n",
       "      <td id=\"T_e3fe2_row9_col7\" class=\"data row9 col7\" >0.95%</td>\n",
       "      <td id=\"T_e3fe2_row9_col8\" class=\"data row9 col8\" >-1.18%</td>\n",
       "      <td id=\"T_e3fe2_row9_col9\" class=\"data row9 col9\" >1.39%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row10\" class=\"row_heading level0 row10\" >7.53</th>\n",
       "      <td id=\"T_e3fe2_row10_col0\" class=\"data row10 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row10_col1\" class=\"data row10 col1\" >-5.24%</td>\n",
       "      <td id=\"T_e3fe2_row10_col2\" class=\"data row10 col2\" >-1.34%</td>\n",
       "      <td id=\"T_e3fe2_row10_col3\" class=\"data row10 col3\" >-1.44%</td>\n",
       "      <td id=\"T_e3fe2_row10_col4\" class=\"data row10 col4\" >1.52%</td>\n",
       "      <td id=\"T_e3fe2_row10_col5\" class=\"data row10 col5\" >-0.59%</td>\n",
       "      <td id=\"T_e3fe2_row10_col6\" class=\"data row10 col6\" >-0.08%</td>\n",
       "      <td id=\"T_e3fe2_row10_col7\" class=\"data row10 col7\" >0.83%</td>\n",
       "      <td id=\"T_e3fe2_row10_col8\" class=\"data row10 col8\" >-0.23%</td>\n",
       "      <td id=\"T_e3fe2_row10_col9\" class=\"data row10 col9\" >0.62%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row11\" class=\"row_heading level0 row11\" >10.54</th>\n",
       "      <td id=\"T_e3fe2_row11_col0\" class=\"data row11 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row11_col1\" class=\"data row11 col1\" >-0.30%</td>\n",
       "      <td id=\"T_e3fe2_row11_col2\" class=\"data row11 col2\" >-2.78%</td>\n",
       "      <td id=\"T_e3fe2_row11_col3\" class=\"data row11 col3\" >-2.28%</td>\n",
       "      <td id=\"T_e3fe2_row11_col4\" class=\"data row11 col4\" >0.95%</td>\n",
       "      <td id=\"T_e3fe2_row11_col5\" class=\"data row11 col5\" >0.94%</td>\n",
       "      <td id=\"T_e3fe2_row11_col6\" class=\"data row11 col6\" >1.15%</td>\n",
       "      <td id=\"T_e3fe2_row11_col7\" class=\"data row11 col7\" >2.73%</td>\n",
       "      <td id=\"T_e3fe2_row11_col8\" class=\"data row11 col8\" >-0.01%</td>\n",
       "      <td id=\"T_e3fe2_row11_col9\" class=\"data row11 col9\" >1.14%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row12\" class=\"row_heading level0 row12\" >14.76</th>\n",
       "      <td id=\"T_e3fe2_row12_col0\" class=\"data row12 col0\" >-5.87%</td>\n",
       "      <td id=\"T_e3fe2_row12_col1\" class=\"data row12 col1\" >-4.19%</td>\n",
       "      <td id=\"T_e3fe2_row12_col2\" class=\"data row12 col2\" >-2.95%</td>\n",
       "      <td id=\"T_e3fe2_row12_col3\" class=\"data row12 col3\" >0.53%</td>\n",
       "      <td id=\"T_e3fe2_row12_col4\" class=\"data row12 col4\" >0.15%</td>\n",
       "      <td id=\"T_e3fe2_row12_col5\" class=\"data row12 col5\" >1.17%</td>\n",
       "      <td id=\"T_e3fe2_row12_col6\" class=\"data row12 col6\" >1.64%</td>\n",
       "      <td id=\"T_e3fe2_row12_col7\" class=\"data row12 col7\" >1.55%</td>\n",
       "      <td id=\"T_e3fe2_row12_col8\" class=\"data row12 col8\" >-0.30%</td>\n",
       "      <td id=\"T_e3fe2_row12_col9\" class=\"data row12 col9\" >0.82%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row13\" class=\"row_heading level0 row13\" >20.66</th>\n",
       "      <td id=\"T_e3fe2_row13_col0\" class=\"data row13 col0\" >-5.87%</td>\n",
       "      <td id=\"T_e3fe2_row13_col1\" class=\"data row13 col1\" >-3.41%</td>\n",
       "      <td id=\"T_e3fe2_row13_col2\" class=\"data row13 col2\" >-2.58%</td>\n",
       "      <td id=\"T_e3fe2_row13_col3\" class=\"data row13 col3\" >-0.80%</td>\n",
       "      <td id=\"T_e3fe2_row13_col4\" class=\"data row13 col4\" >-0.33%</td>\n",
       "      <td id=\"T_e3fe2_row13_col5\" class=\"data row13 col5\" >2.47%</td>\n",
       "      <td id=\"T_e3fe2_row13_col6\" class=\"data row13 col6\" >3.11%</td>\n",
       "      <td id=\"T_e3fe2_row13_col7\" class=\"data row13 col7\" >3.01%</td>\n",
       "      <td id=\"T_e3fe2_row13_col8\" class=\"data row13 col8\" >-0.22%</td>\n",
       "      <td id=\"T_e3fe2_row13_col9\" class=\"data row13 col9\" >0.53%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row14\" class=\"row_heading level0 row14\" >28.93</th>\n",
       "      <td id=\"T_e3fe2_row14_col0\" class=\"data row14 col0\" >-5.42%</td>\n",
       "      <td id=\"T_e3fe2_row14_col1\" class=\"data row14 col1\" >-3.66%</td>\n",
       "      <td id=\"T_e3fe2_row14_col2\" class=\"data row14 col2\" >-1.93%</td>\n",
       "      <td id=\"T_e3fe2_row14_col3\" class=\"data row14 col3\" >0.00%</td>\n",
       "      <td id=\"T_e3fe2_row14_col4\" class=\"data row14 col4\" >1.69%</td>\n",
       "      <td id=\"T_e3fe2_row14_col5\" class=\"data row14 col5\" >2.56%</td>\n",
       "      <td id=\"T_e3fe2_row14_col6\" class=\"data row14 col6\" >3.74%</td>\n",
       "      <td id=\"T_e3fe2_row14_col7\" class=\"data row14 col7\" >3.39%</td>\n",
       "      <td id=\"T_e3fe2_row14_col8\" class=\"data row14 col8\" >1.67%</td>\n",
       "      <td id=\"T_e3fe2_row14_col9\" class=\"data row14 col9\" >0.89%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row15\" class=\"row_heading level0 row15\" >40.5</th>\n",
       "      <td id=\"T_e3fe2_row15_col0\" class=\"data row15 col0\" >-4.50%</td>\n",
       "      <td id=\"T_e3fe2_row15_col1\" class=\"data row15 col1\" >-2.96%</td>\n",
       "      <td id=\"T_e3fe2_row15_col2\" class=\"data row15 col2\" >-1.87%</td>\n",
       "      <td id=\"T_e3fe2_row15_col3\" class=\"data row15 col3\" >-0.21%</td>\n",
       "      <td id=\"T_e3fe2_row15_col4\" class=\"data row15 col4\" >5.27%</td>\n",
       "      <td id=\"T_e3fe2_row15_col5\" class=\"data row15 col5\" >3.53%</td>\n",
       "      <td id=\"T_e3fe2_row15_col6\" class=\"data row15 col6\" >2.07%</td>\n",
       "      <td id=\"T_e3fe2_row15_col7\" class=\"data row15 col7\" >2.61%</td>\n",
       "      <td id=\"T_e3fe2_row15_col8\" class=\"data row15 col8\" >1.68%</td>\n",
       "      <td id=\"T_e3fe2_row15_col9\" class=\"data row15 col9\" >2.87%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row16\" class=\"row_heading level0 row16\" >56.69</th>\n",
       "      <td id=\"T_e3fe2_row16_col0\" class=\"data row16 col0\" >-2.08%</td>\n",
       "      <td id=\"T_e3fe2_row16_col1\" class=\"data row16 col1\" >-2.61%</td>\n",
       "      <td id=\"T_e3fe2_row16_col2\" class=\"data row16 col2\" >-1.52%</td>\n",
       "      <td id=\"T_e3fe2_row16_col3\" class=\"data row16 col3\" >0.65%</td>\n",
       "      <td id=\"T_e3fe2_row16_col4\" class=\"data row16 col4\" >-0.37%</td>\n",
       "      <td id=\"T_e3fe2_row16_col5\" class=\"data row16 col5\" >3.75%</td>\n",
       "      <td id=\"T_e3fe2_row16_col6\" class=\"data row16 col6\" >2.21%</td>\n",
       "      <td id=\"T_e3fe2_row16_col7\" class=\"data row16 col7\" >5.04%</td>\n",
       "      <td id=\"T_e3fe2_row16_col8\" class=\"data row16 col8\" >2.45%</td>\n",
       "      <td id=\"T_e3fe2_row16_col9\" class=\"data row16 col9\" >4.47%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row17\" class=\"row_heading level0 row17\" >79.37</th>\n",
       "      <td id=\"T_e3fe2_row17_col0\" class=\"data row17 col0\" >-4.55%</td>\n",
       "      <td id=\"T_e3fe2_row17_col1\" class=\"data row17 col1\" >-1.64%</td>\n",
       "      <td id=\"T_e3fe2_row17_col2\" class=\"data row17 col2\" >-0.35%</td>\n",
       "      <td id=\"T_e3fe2_row17_col3\" class=\"data row17 col3\" >-0.01%</td>\n",
       "      <td id=\"T_e3fe2_row17_col4\" class=\"data row17 col4\" >4.70%</td>\n",
       "      <td id=\"T_e3fe2_row17_col5\" class=\"data row17 col5\" >4.69%</td>\n",
       "      <td id=\"T_e3fe2_row17_col6\" class=\"data row17 col6\" >3.03%</td>\n",
       "      <td id=\"T_e3fe2_row17_col7\" class=\"data row17 col7\" >2.30%</td>\n",
       "      <td id=\"T_e3fe2_row17_col8\" class=\"data row17 col8\" >0.57%</td>\n",
       "      <td id=\"T_e3fe2_row17_col9\" class=\"data row17 col9\" >6.84%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row18\" class=\"row_heading level0 row18\" >111.12</th>\n",
       "      <td id=\"T_e3fe2_row18_col0\" class=\"data row18 col0\" >-5.65%</td>\n",
       "      <td id=\"T_e3fe2_row18_col1\" class=\"data row18 col1\" >-2.18%</td>\n",
       "      <td id=\"T_e3fe2_row18_col2\" class=\"data row18 col2\" >0.62%</td>\n",
       "      <td id=\"T_e3fe2_row18_col3\" class=\"data row18 col3\" >-0.22%</td>\n",
       "      <td id=\"T_e3fe2_row18_col4\" class=\"data row18 col4\" >3.48%</td>\n",
       "      <td id=\"T_e3fe2_row18_col5\" class=\"data row18 col5\" >3.11%</td>\n",
       "      <td id=\"T_e3fe2_row18_col6\" class=\"data row18 col6\" >2.31%</td>\n",
       "      <td id=\"T_e3fe2_row18_col7\" class=\"data row18 col7\" >-2.70%</td>\n",
       "      <td id=\"T_e3fe2_row18_col8\" class=\"data row18 col8\" >-3.85%</td>\n",
       "      <td id=\"T_e3fe2_row18_col9\" class=\"data row18 col9\" >8.59%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row19\" class=\"row_heading level0 row19\" >155.57</th>\n",
       "      <td id=\"T_e3fe2_row19_col0\" class=\"data row19 col0\" >-7.37%</td>\n",
       "      <td id=\"T_e3fe2_row19_col1\" class=\"data row19 col1\" >-1.88%</td>\n",
       "      <td id=\"T_e3fe2_row19_col2\" class=\"data row19 col2\" >-2.52%</td>\n",
       "      <td id=\"T_e3fe2_row19_col3\" class=\"data row19 col3\" >-0.61%</td>\n",
       "      <td id=\"T_e3fe2_row19_col4\" class=\"data row19 col4\" >3.34%</td>\n",
       "      <td id=\"T_e3fe2_row19_col5\" class=\"data row19 col5\" >1.95%</td>\n",
       "      <td id=\"T_e3fe2_row19_col6\" class=\"data row19 col6\" >3.00%</td>\n",
       "      <td id=\"T_e3fe2_row19_col7\" class=\"data row19 col7\" >10.45%</td>\n",
       "      <td id=\"T_e3fe2_row19_col8\" class=\"data row19 col8\" >-3.45%</td>\n",
       "      <td id=\"T_e3fe2_row19_col9\" class=\"data row19 col9\" >53.85%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row20\" class=\"row_heading level0 row20\" >217.8</th>\n",
       "      <td id=\"T_e3fe2_row20_col0\" class=\"data row20 col0\" >-6.04%</td>\n",
       "      <td id=\"T_e3fe2_row20_col1\" class=\"data row20 col1\" >-3.80%</td>\n",
       "      <td id=\"T_e3fe2_row20_col2\" class=\"data row20 col2\" >0.21%</td>\n",
       "      <td id=\"T_e3fe2_row20_col3\" class=\"data row20 col3\" >0.11%</td>\n",
       "      <td id=\"T_e3fe2_row20_col4\" class=\"data row20 col4\" >6.77%</td>\n",
       "      <td id=\"T_e3fe2_row20_col5\" class=\"data row20 col5\" >9.89%</td>\n",
       "      <td id=\"T_e3fe2_row20_col6\" class=\"data row20 col6\" >2.74%</td>\n",
       "      <td id=\"T_e3fe2_row20_col7\" class=\"data row20 col7\" >12.26%</td>\n",
       "      <td id=\"T_e3fe2_row20_col8\" class=\"data row20 col8\" >-5.92%</td>\n",
       "      <td id=\"T_e3fe2_row20_col9\" class=\"data row20 col9\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row21\" class=\"row_heading level0 row21\" >304.91</th>\n",
       "      <td id=\"T_e3fe2_row21_col0\" class=\"data row21 col0\" >4.65%</td>\n",
       "      <td id=\"T_e3fe2_row21_col1\" class=\"data row21 col1\" >-2.70%</td>\n",
       "      <td id=\"T_e3fe2_row21_col2\" class=\"data row21 col2\" >-1.90%</td>\n",
       "      <td id=\"T_e3fe2_row21_col3\" class=\"data row21 col3\" >-2.50%</td>\n",
       "      <td id=\"T_e3fe2_row21_col4\" class=\"data row21 col4\" >5.22%</td>\n",
       "      <td id=\"T_e3fe2_row21_col5\" class=\"data row21 col5\" >7.04%</td>\n",
       "      <td id=\"T_e3fe2_row21_col6\" class=\"data row21 col6\" >11.60%</td>\n",
       "      <td id=\"T_e3fe2_row21_col7\" class=\"data row21 col7\" >11.53%</td>\n",
       "      <td id=\"T_e3fe2_row21_col8\" class=\"data row21 col8\" >-3.45%</td>\n",
       "      <td id=\"T_e3fe2_row21_col9\" class=\"data row21 col9\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row22\" class=\"row_heading level0 row22\" >426.88</th>\n",
       "      <td id=\"T_e3fe2_row22_col0\" class=\"data row22 col0\" >-3.56%</td>\n",
       "      <td id=\"T_e3fe2_row22_col1\" class=\"data row22 col1\" >7.24%</td>\n",
       "      <td id=\"T_e3fe2_row22_col2\" class=\"data row22 col2\" >0.98%</td>\n",
       "      <td id=\"T_e3fe2_row22_col3\" class=\"data row22 col3\" >6.60%</td>\n",
       "      <td id=\"T_e3fe2_row22_col4\" class=\"data row22 col4\" >-1.49%</td>\n",
       "      <td id=\"T_e3fe2_row22_col5\" class=\"data row22 col5\" >9.42%</td>\n",
       "      <td id=\"T_e3fe2_row22_col6\" class=\"data row22 col6\" >-4.28%</td>\n",
       "      <td id=\"T_e3fe2_row22_col7\" class=\"data row22 col7\" >97.63%</td>\n",
       "      <td id=\"T_e3fe2_row22_col8\" class=\"data row22 col8\" ></td>\n",
       "      <td id=\"T_e3fe2_row22_col9\" class=\"data row22 col9\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row23\" class=\"row_heading level0 row23\" >597.63</th>\n",
       "      <td id=\"T_e3fe2_row23_col0\" class=\"data row23 col0\" ></td>\n",
       "      <td id=\"T_e3fe2_row23_col1\" class=\"data row23 col1\" >24.36%</td>\n",
       "      <td id=\"T_e3fe2_row23_col2\" class=\"data row23 col2\" >5.56%</td>\n",
       "      <td id=\"T_e3fe2_row23_col3\" class=\"data row23 col3\" >7.37%</td>\n",
       "      <td id=\"T_e3fe2_row23_col4\" class=\"data row23 col4\" >-3.22%</td>\n",
       "      <td id=\"T_e3fe2_row23_col5\" class=\"data row23 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row23_col6\" class=\"data row23 col6\" ></td>\n",
       "      <td id=\"T_e3fe2_row23_col7\" class=\"data row23 col7\" ></td>\n",
       "      <td id=\"T_e3fe2_row23_col8\" class=\"data row23 col8\" ></td>\n",
       "      <td id=\"T_e3fe2_row23_col9\" class=\"data row23 col9\" ></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th id=\"T_e3fe2_level0_row24\" class=\"row_heading level0 row24\" >836.68</th>\n",
       "      <td id=\"T_e3fe2_row24_col0\" class=\"data row24 col0\" >-0.46%</td>\n",
       "      <td id=\"T_e3fe2_row24_col1\" class=\"data row24 col1\" ></td>\n",
       "      <td id=\"T_e3fe2_row24_col2\" class=\"data row24 col2\" >-0.15%</td>\n",
       "      <td id=\"T_e3fe2_row24_col3\" class=\"data row24 col3\" ></td>\n",
       "      <td id=\"T_e3fe2_row24_col4\" class=\"data row24 col4\" ></td>\n",
       "      <td id=\"T_e3fe2_row24_col5\" class=\"data row24 col5\" ></td>\n",
       "      <td id=\"T_e3fe2_row24_col6\" class=\"data row24 col6\" ></td>\n",
       "      <td id=\"T_e3fe2_row24_col7\" class=\"data row24 col7\" ></td>\n",
       "      <td id=\"T_e3fe2_row24_col8\" class=\"data row24 col8\" ></td>\n",
       "      <td id=\"T_e3fe2_row24_col9\" class=\"data row24 col9\" ></td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x2bf129ee0>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "B_W_Metric_raw = dataset[['difficulty', 'stability', 'p', 'y']].copy()\n",
    "B_W_Metric_raw['s_bin'] = B_W_Metric_raw['stability'].map(lambda x: round(math.pow(1.4, math.floor(math.log(x, 1.4))), 2))\n",
    "B_W_Metric_raw['d_bin'] = B_W_Metric_raw['difficulty'].map(lambda x: int(round(x)))\n",
    "B_W_Metric = B_W_Metric_raw.groupby(by=['s_bin', 'd_bin']).agg('mean').reset_index()\n",
    "B_W_Metric['B-W'] = B_W_Metric['p'] - B_W_Metric['y']\n",
    "B_W_Metric_pivot = B_W_Metric.pivot(index=\"s_bin\", columns='d_bin', values='B-W')\n",
    "B_W_Metric_pivot.apply(pd.to_numeric).style.background_gradient(cmap='seismic', axis=None, vmin=-0.2, vmax=0.2).format(\"{:.2%}\", na_rep='')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='d_bin'>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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n//8Z916662KiIhQQkKC5s+ff1Yvq1atUteuXRUREaHu3bvr7bffDnQ6AADAUgGFnK+//loDBgxQ06ZNtW7dOn3yySd67rnndM011zg18+fP1wsvvKClS5dq69atat68uVJTU3Xy5EmnZuTIkdq9e7fy8vK0du1avffee3r00UedcZ/Pp0GDBqljx44qLCzUs88+q1mzZumll15yarZs2aIRI0Zo7Nix+vjjjzVkyBANGTJEu3btupz3AwAAWMJljDF1LZ42bZo2b96s999//5zjxhjFx8fr8ccf1xNPPCFJKi8vV2xsrLKzszV8+HDt2bNHiYmJ+uijj9SnTx9JUm5urr7//e/rb3/7m+Lj47VkyRI99dRT8nq9CgsLc469evVq7d27V5I0bNgwVVRUaO3atc7x+/fvr169emnp0qV1mo/P51NUVJTKy8vldrvr+jYAAHDV6DQtp96PcWBeWkD1df38DuhMzltvvaU+ffrogQceUExMjL797W/rV7/6lTO+f/9+eb1epaSkOOuioqKUnJysgoICSVJBQYGio6OdgCNJKSkpCgkJ0datW52a2267zQk4kpSamqri4mJ9/fXXTs2Zx6mtqT3OuVRWVsrn8/ktAADATgGFnM8//1xLlizR9ddfr/Xr12v8+PH66U9/qmXLlkmSvF6vJCk2NtZvu9jYWGfM6/UqJibGb7xJkyZq1aqVX8259nHmMc5XUzt+LnPnzlVUVJSzJCQkBDJ9AADQiAQUcmpqatS7d2/97Gc/07e//W09+uijeuSRR+r89VCwTZ8+XeXl5c5y8ODBYLcEAADqSUAhp127dkpMTPRb161bN5WUlEiS4uLiJEmlpaV+NaWlpc5YXFycjhw54jd++vRpffXVV34159rHmcc4X03t+LmEh4fL7Xb7LQAAwE4BhZwBAwaouLjYb91f/vIXdezYUZLUuXNnxcXFKT8/3xn3+XzaunWrPB6PJMnj8aisrEyFhYVOzYYNG1RTU6Pk5GSn5r333tOpU6ecmry8PN14443OnVwej8fvOLU1tccBAABXt4BCzqRJk/Thhx/qZz/7mT799FMtX75cL730ktLT0yVJLpdLGRkZmjNnjt566y3t3LlTo0aNUnx8vIYMGSLpn2d+vve97+mRRx7Rtm3btHnzZk2YMEHDhw9XfHy8JOnHP/6xwsLCNHbsWO3e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eHi4JGncuHFatGiRpkyZooceekgbNmzQypUrlZPzf1d4Z2ZmavTo0erTp4/69eunBQsWqKKiQmPGjLmsNwQAANgh4AuPL+b5559XSEiIhg4dqsrKSqWmpurFF190xkNDQ7V27VqNHz9eHo9HzZs31+jRozV79mynpnPnzsrJydGkSZO0cOFCtW/fXi+//LJSU1OdmmHDhuno0aPKysqS1+tVr169lJube9bFyAAA4Op0Sc/JsQXPyQEA4MKuuufkAAAANHSEHAAAYCVCDgAAsBIhBwAAWImQAwAArETIAQAAViLkAAAAKxFyAACAlQg5AADASoQcAABgJUIOAACwEiEHAABYiZADAACsRMgBAABWahLsBoCrXadpOfV+jAPz0ur9GADQ0HAmBwAAWImQAwAArETIAQAAViLkAAAAKxFyAACAlQg5AADASoQcAABgJUIOAACwEg8DRKPFQ/QAABfCmRwAAGAlQg4AALASIQcAAFiJkAMAAKxEyAEAAFYi5AAAACsRcgAAgJUIOQAAwEqEHAAAYCVCDgAAsBIhBwAAWImQAwAArETIAQAAViLkAAAAKxFyAACAlQg5AADASoQcAABgpYBCzpIlS9SjRw+53W653W55PB6tW7fOGT958qTS09PVunVrtWjRQkOHDlVpaanfPkpKSpSWlqZmzZopJiZGkydP1unTp/1qNm7cqN69eys8PFxdunRRdnb2Wb0sXrxYnTp1UkREhJKTk7Vt27ZApgIAACwXUMhp37695s2bp8LCQm3fvl3f/e53de+992r37t2SpEmTJmnNmjVatWqVNm3apEOHDum+++5ztq+urlZaWpqqqqq0ZcsWLVu2TNnZ2crKynJq9u/fr7S0NA0cOFBFRUXKyMjQww8/rPXr1zs1K1asUGZmpmbOnKkdO3aoZ8+eSk1N1ZEjRy73/QAAAJZwGWPM5eygVatWevbZZ3X//ferbdu2Wr58ue6//35J0t69e9WtWzcVFBSof//+Wrdune6++24dOnRIsbGxkqSlS5dq6tSpOnr0qMLCwjR16lTl5ORo165dzjGGDx+usrIy5ebmSpKSk5PVt29fLVq0SJJUU1OjhIQETZw4UdOmTatz7z6fT1FRUSovL5fb7b6ctwFB0GlaTr0f48C8tHo/hi3zQMNR33+m+PN0dWmIf0fV9fP7kq/Jqa6u1uuv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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "B_W_Metric_raw.groupby(by=['d_bin']).agg('count').reset_index().plot.bar(x='d_bin', y='p', legend=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "fsrs4anki",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
